Printing apparatus, information processing apparatus, data processing method for use in such an apparatus, and storage medium storing computer-readable program

ABSTRACT

Print data including text or graphics data is transferred from a host computer to a printer. The printer develops the received data on band basis. When data processing to be performed by the printer is expected to fail due to shortage of the memory area size, the host computer cancels the data which has already been sent to the printer, and develops the text or graphics data to form image data. The image data thus formed is sent to the printer. Image data is transferred in a hierarchical manner. Disclosed also is a method which makes it possible to eliminate as much as possible any data processing failure in the printer attributable to shortage of memory capacity.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention relates to a printing apparatus having amemory resource of a predetermined capacity and communicable with aninformation processing apparatus through a predetermined communicationmedium. The invention also relates to an information processingapparatus communicable with such a printing apparatus, as well as to aprinting system which has both a printing apparatus and an informationprocessing apparatus of the types stated above. The invention in itsfurther aspect pertains to a data processing method for use in such aprinting apparatus, information processing apparatus or a printingsystem having both the printing and information processing apparatuses.The invention also is concerned with a storage medium storing acomputer-readable program implementing such a data processing method.

[0003] Still more particularly, the present invention relates to aprinting apparatus which receives printing information from aninformation processing apparatus through a predetermined communicationmedium and which has a memory resource divided into a plurality of bandareas in which the received printing information is image-developed soas to be printed, and relates also to such an information processingapparatus, as well as to a printing system which has the combination ofsuch printing apparatus and information processing apparatus.Furthermore, the invention pertains to data processing methods which aresuitable for use in such printing apparatus, information processingapparatus or printing system. The invention also is concerned with astorage medium which stores a computer-readable program to be used insuch a printing system.

[0004] 2. Description of the Related Arts

[0005] In general, a page printer employed in a printing system of thetype specified above deals with data on page basis. To this end, thepage printer has a bit map memory of a size corresponding to one page ofdata. Document data sent from a host computer is dot-developed on thisbit mp memory and the printing is performed in accordance with the dotpatterns developed on the one-page bit map.

[0006] This type of printing system is necessarily expensive, due to theuse of the bit map memory the size of which must be large enough toaccommodate one-page data at the smallest. Under this circumstance, amethod has been proposed in which one-page size is divided into aplurality of bands, e.g., 16 bands. According to this method, thedocument data transmitted from a host computer is converted intointermediate codes so as to be handled on band basis. The intermediatecodes in each band is developed in a band memory having a capacitycorresponding to the size of a bit map memory for one band. The printingis performed based on the dot data read from the band memory.

[0007] It will be seen that this method requires at least two bandmemories: namely, it is necessary to arrange such that, while dot datais being read from one band memory for printing, the other band memoryreceives and develops next band of the dot data.

[0008] According to this method, it is possible to optimize the memorycapacity which is necessary for the purpose of processing printinginformation, as will be understood from comparison between FIG. 11A andFig. 11B which show, respectively, memory resource allocation employedin the method in which the printing information is developed on bandbasis and memory resource allocation employed in the method in whichprinting information is developed on a one-page size bit map memory.

[0009] It will be seen that, whilst the method employing one-page sizebit map memory requires a total memory capacity of 6.5 MB in order toperform printing at 600 dpi on an A-4 size sheet, as shown in FIG. 11B,the method which employs an intermediate code memory in combination withband memories requires only a small total memory capacity of 2 MB whichis less than ⅓ of that necessitated in the method which uses one-pagesize bit map memory.

[0010] The method employing intermediate code memory in combination withband memories, however, suffers from the following problem. In thememory resource allocation shown in FIG. 11B, the memory area of 1 MBsize is allocated for intermediate codes, on an assumption that theprinting is performed at 600 dpi. However, this memory area easilyoverflows with data when numerous intermediate codes are required due tocomplexity of document data, or when the whole page is occupied by imagedata which requires 4 MB at 600 dpi printing on A-4 size sheet.Consequently, the printing apparatus fails to print. This problem wouldbe overcome if the size of the memory area is increased, but such asolution leads to a rise of the costs of the apparatus due to use ofexpensive memory resource.

[0011] Another problem encountered with page printer used inconventional printing apparatus is as follows. Basically, such a printerperforms printing on page basis, so that, once the printing is started,it is not allowed to stop the printing halfway, i.e., until the printingof the page is completed. Thus, the page printer has had to be equippedwith a memory of a size large enough to accommodate dot imagecorresponding to data of one page.

[0012] The use of a memory having a large storage capacity raises theprice of the page printer. In order to obviate this problem, a methodreferred to as “band processing” has been proposed in which the datacontained in one page is divided into a plurality of bands, while aplurality of band memories are preserved in the memory resource of thepage printer. In operation, printing is performed by alternately andrepeatedly using the band memories such that, while printing isperformed based on dot-developed image data read from one of the bandmemories, the next band data is dot-developed in the other band memory.

[0013] The described band processing of printing information, however,encounters with the following problem. Namely, the printing systemrelying upon this processing method inherently has a risk that theprinting may unexpectedly fail, when the dot development cannot befinished before the delivery of data to the printer engine, due tocomplexity of the document, i.e., presence of too many characters orpresence of graphics command, or when the amount of data exceeds thesize of the area allocated in the memory resource for printing. Inaddition, the printing also fails when a large volume of image data isinputted, because the size of the memory resource of the printer is toolarge to accommodate such a big volume of image data.

[0014] In the meantime, the method which employs a memory for storingfull one-page dot image is inevitably expensive, due to the use of sucha memory having a large size. In addition, this type of method isdisadvantageous in that the throughput of the printer is reduced due tothe fact that development of one-page document data cannot be performeduntil the delivery of the whole dot data of the preceding one page tothe printer engine is completed. For instance, when the page-baseddocument data delivered to the page printer contains such a command asto cause the printer to draw a vertical line from the top to the bottomof a page, vacant areas are formed in the bit map of the memory.However, it is not allowed to develop the next page data until thevertical line data is delivered to the printer engine, despite thepresence of such vacant areas.

SUMMARY OF THE INVENTION

[0015] It is an object of the present invention to overcome theabove-described problems of the known arts, by providing in its first tofifteenth aspects an improved printing apparatus, an informationprocessing apparatus, a printing system, a data processing for use in aprinting apparatus or printing system, and a storage medium storing acomputer-readable program.

[0016] According to the invention, printing information from a hostcomputer as an information processing apparatus is converted intointermediate code information so as to enable printing on band basis,and the intermediate code information thus obtained are stored in apredetermined area preserved in a memory resource of a printingapparatus. When the size of the intermediate codes exceeds the size ofthe storage area, the intermediate code information is suitablyprocessed so as to form a vacancy in the memory, thereby making itpossible to store the entire one-page intermediate code information inthe memory resource, without requiring expansion of the memory resource.

[0017] According to the first aspect of the present invention, there isprovided a printing apparatus communicable with an informationprocessing apparatus through a predetermined communication medium,comprising: first conversion means for converting page-basis printinginformation received from the information processing apparatus intopredetermined intermediate code information, the conversion beingexecuted on a predetermined band basis; first storage means for storing,in a first storage area of a memory resource, the intermediate codeinformation obtained through conversion performed by the firstconversion means; second conversion means for converting theintermediate code information into image data on a predetermined bandbasis; second storage means for storing, in a second storage area of thememory resource, a plurality of bands of the image data obtained throughconversion performed by the second conversion means; first judging meansfor judging whether or not the intermediate code informationcorresponding to one page has been stored in the first storage area; andfirst memory control means operative based on the result of judgmentconducted by the first judging means so as to cause the secondconversion means to convert the intermediate code information stored inthe first storage area on the predetermined band basis into image and todevelop the image in the second storage area, thereby forming a vacantarea in the first storage area.

[0018] In accordance with the second aspect of the present invention,the printing apparatus of the first aspect further comprises: secondmemory control means operative after the preservation of the vacant areaby the first memory control means and operative based on the result ofthe judgment performed by the first judging means, so as to cause thesecond conversion means to convert into image the intermediate codeinformation of a band which does not contain image data from among thebands of intermediate code information stored in the first storage area,and to develop the image into the second storage area; compression meansfor compressing the output information image-developed by the secondmemory control means into a predetermined volume, thereby generatingcompressed output information; and third memory control means forcausing the first storage area to store the compressed outputinformation generated by the compression means.

[0019] According to the third aspect of the present invention, there isprovided an information processing apparatus communicable with aprinting apparatus through a predetermined communication medium,comprising: transfer means for transferring to the printing apparatusthe page printing information except for image data in the page; inquirymeans for inquiring, after the data transfer performed by the transfermeans, about the size of vacancy in an intermediate code informationstorage area preserved in a memory resource of the printing apparatus;and transfer control means for comparing the size of the image data withthe size of the vacancy informed by the printing apparatus in responseto the inquiry made by the inquiry means, and for controlling the sizeof the image data to be transferred, based on the result of thecomparison.

[0020] In accordance with the fourth aspect of the present invention,the transfer control means, when judging that the size of the image dataexceeds the size of vacancy, compresses the image data so as to reducethe size of the image data to be transferred.

[0021] According to a fifth aspect of the present invention, there isprovided a printing apparatus communicable with an informationprocessing apparatus through a predetermined communication medium,comprising: first conversion means for converting page-basis printinginformation received from the information processing apparatus intopredetermined intermediate code information, the conversion beingexecuted on a predetermined band basis; first storage means for storing,in a first storage area of a memory resource, the intermediate codeinformation obtained through conversion performed by the firstconversion means; second conversion means for converting theintermediate code information into image data on a predetermined bandbasis; second storage means for storing, in a second storage area of thememory resource, a plurality of bands of the image data obtained throughconversion performed by the second conversion means; and informing meansfor informing the information processing apparatus of the size ofvacancy formed in the first storage area after conversion performed bythe first conversion means, in response to an inquiry made by theinformation processing apparatus about the vacancy size.

[0022] According to the sixth aspect of the present invention, there isprovided a printing system comprising an information processingapparatus and a printing apparatus communicable with each other througha predetermined communication medium, wherein the printing apparatuscomprises: first conversion means for converting page-basis printinginformation received from the information processing apparatus intopredetermined intermediate code information, the conversion beingexecuted a on predetermined band basis; first storage means for storing,in a first storage area of a memory resource, the intermediate codeinformation obtained through conversion performed by the firstconversion means; second conversion means for converting theintermediate code information into image data on predetermined bandbasis; second storage means for storing, in a second storage area of thememory resource, a plurality of bands of the image data obtained throughconversion performed by the second conversion means; and informing meansfor informing the information processing apparatus of the size ofvacancy formed in the first storage area after conversion performed bythe first conversion means, in response to an inquiry made by theinformation processing apparatus about the vacancy size; and wherein theinformation processing apparatus comprises: transfer means fortransferring to the printing apparatus the page printing informationexcept for image data in the page; inquiry means for inquiring, afterthe data transfer performed by the transfer means, about the size ofvacancy in an intermediate code information storage area preserved inthe memory resource of the printing apparatus; and transfer controlmeans for comparing the size of the image data with the size of thevacancy informed by the printing apparatus in response to the inquirymade by the inquiry means, and for controlling the size of the imagedata to be transferred, based on the result of the comparison.

[0023] In accordance with the seventh aspect of the present invention,the transfer control means, when judging that the size of the image dataexceeds the size of vacancy, compresses the image data so as to reducethe size of the image data to be transferred.

[0024] According to the eighth aspect of the present invention, there isprovided a data processing method for use in a printing apparatuscommunicable with an information processing apparatus through apredetermined communication medium, the method comprising: a firstconverting step for converting page-basis printing information receivedfrom the information processing apparatus into predeterminedintermediate code information, the conversion being executed on apredetermined band basis; a first storing step for storing, in a firststorage area preserved in a memory resource, the intermediate codeinformation obtained through the conversion; a second converting stepfor converting the intermediate code information stored in the firststorage area into image data on a predetermined band basis; a secondstoring step for storing, in a second storage area preserved in thememory resource, a plurality of bands of the image data obtained throughthe conversion performed in the second converting step; a first judgingstep for judging whether or not the intermediate code informationcorresponding to one page has been stored in the first storage area; anda third storing step conducted based on the result of judgment conductedby the first judging means, so as to cause the intermediate codeinformation stored on the predetermined band basis in the first storagearea to be developed into image in the second storage area, therebypreserving vacant area in the first storage area, and to storesubsequent intermediate code data into the vacant area.

[0025] In accordance with the ninth aspect of the present invention, thedata processing method of the eighth aspect further comprises: a secondjudging step conducted after storage of the subsequent intermediate codeinformation in the vacant area, so as to judge whether or not theintermediate code information corresponding to one page has been storedin the first storage area; a fourth storing step conducted based on theresult of the judgment performed in the second judging step, so as todevelop into image the intermediate code information of a band whichdoes not contain image data from among the bands of intermediate codeinformation stored in the first storage area, and to store the developedimage in the second storage area; a compressing step for compressing theimage-developed output information into a predetermined volume, therebygenerating compressed output information; and a fifth storing step forstoring the compressed output information in the first storage area.

[0026] According to the tenth aspect of the present invention, there isprovided a data processing method for use in a printing systemcomprising an information processing apparatus and a printing apparatuscommunicable with each other through a predetermined communicationmedium, the method comprising: a first transferring step fortransferring first printing information formed by removing image datafrom one-page printing information to be transferred; a first convertingstep for converting, on a predetermined band basis, the first printinginformation received from the information processing apparatus into apredetermined intermediate code information; a first storing step forstoring the intermediate code information obtained-through theconversion in a first storage area preserved in a memory resource; andan informing step for informing, after the storage of the intermediatecode information in the first storage area, the information processingapparatus of the size of vacancy in the first storage area, in responseto an inquiry given by the information processing apparatus.

[0027] In accordance with the eleventh aspect of the present invention,the data processing method further comprises: judging step for comparingthe size of the image data to be transmitted with the size of vacancyinformed by the printing apparatus; reducing step for reducing the sizeof the image data to be transferred based on the result of the judgment;and a second transferring step for transferring the reduced image datato the printing apparatus.

[0028] According to the twelfth aspect of the present invention, thereis provided storage medium storing a computer-readable program whichcomprises: a first converting step for converting page-basis printinginformation received from an information processing apparatus intopredetermined intermediate code information, the conversion beingexecuted on a predetermined band basis; a first storing step forstoring, in a first storage area preserved in a memory resource, theintermediate code information obtained through the conversion; a secondconverting step for converting the intermediate code information storedin the first storage area into image data on a predetermined band basis;a second storing step for storing, in a second storage area preserved inthe memory resource, a plurality of bands of the image data obtainedthrough the conversion performed in the second converting step; a firstjudging step for judging whether or not the intermediate codeinformation corresponding to one page has been stored in the firststorage area; and a third storing step conducted based on the result ofjudgment conducted by the first judging means, so as to cause theintermediate code information stored on the predetermined band basis inthe first storage area to be developed into image in the second storagearea, thereby preserving vacant area in the first storage area, and tostore subsequent intermediate code data into the vacant area.

[0029] According to the thirteenth aspect of the present invention,there is provided a storage medium storing a computer-readable program,wherein the computer-readable program further comprises: a secondjudging step conducted after storage of the subsequent intermediate codeinformation in the vacant area, so as to judge whether or not theintermediate code information corresponding to one page has been storedin the first storage area; a fourth storing step conducted based on theresult of the judgment performed in the second judging step, so as todevelop into image the intermediate code information of a band whichdoes not contain image data from among the bands of intermediate codeinformation stored in the first storage area, and to store the developedimage in the second storage area; a compressing step for compressing theimage-developed output information into a predetermined volume, therebygenerating compressed output information; and a fifth storing step forstoring the compressed output information in the first storage area.

[0030] According to the fourteenth aspect of the present invention,there is provided a storage medium storing a computer-readable program,the computer-readable program comprising: a first transferring step fortransferring first printing information formed by removing image datafrom one-page printing information to be transferred; a first convertingstep for converting, on a predetermined band basis, the first printinginformation received from the information processing apparatus into apredetermined intermediate code information; a first storing step forstoring the intermediate code information obtained through theconversion in a first storage area preserved in a memory resource; andan informing step for informing, after the storage of the intermediatecode information in the first storage area, the information processingapparatus of the size of vacancy in the first storage area, in responseto an inquiry given by the information processing apparatus.

[0031] According to the fifteenth aspect of the present invention, thereis provided a storage medium storing a computer-readable programaccording to claim 14, wherein the computer-readable program furthercomprises: judging step for comparing the size of the image data to betransmitted with the size of vacancy informed by the printing apparatus;a reducing step for reducing the size of the image data to betransferred based on the result of the judgment; and a secondtransferring step for transferring the reduced image data to theprinting apparatus.

[0032] It is also an object of the present invention to provide, in itssixteenth to thirty-ninth aspects, an improved printing apparatus, aninformation processing apparatus, a printing system, a data processingfor use in a printing apparatus or printing system, and a storage mediumstoring a computer-readable program. According to these aspects of theinvention, when the printing information transferred from a hostcomputer as an information processing apparatus cannot be processed dueto restriction in the size of the printing information area allocated ina printer memory resource, the printing information is developed intoimage data by the information processing apparatus, not by the printingapparatus, and the thus developed image data is transferred to theprinting apparatus, whereby printing information which otherwise mayfail to be printed due to restriction in the memory resource allocationcan be printed as much as possible. At the same time, in these aspectsof the invention, image data from a host computer as the informationprocessing apparatus is transferred to a printer in a stepped mannerdepending on the size of the image data. When the total image data sizeexceeds the size of the image area allocated in the printer memoryresource, the printer performs restoration of the original image databased on the amount of the image data which has already been received bythe printer. The printer then performs printing of the restored imagedata, whereby the original image data can be processed at high imagequality as possible, even when the total size of the image data exceedsthe size of the image area allocated in the memory resource.

[0033] More specifically, according to a sixteenth aspect of the presentinvention, there is provided an information processing apparatus capableof performing, through a predetermined communication medium, bandcommunication with a printing apparatus having a memory resource dividedto provide band areas each of which being capable of developing an imagetherein, the information processing apparatus comprising: developingmeans for acquiring memory resource use status information delivered bythe printing apparatus and for developing printing information which hasbeen transferred to the printing apparatus into image data of a formwhich can be outputted by the printing apparatus; and transfer controlmeans for transferring the image data developed by the developing meansto the printing apparatus.

[0034] In accordance with the seventeenth aspect of the presentinvention, the information processing apparatus of the sixteenth aspectfurther comprises: data processing means for acquiring informationconcerning image data development area size allocated in the memoryresource of the printing apparatus, comparing based on the acquiredinformation the image data development area size with the total size ofthe image data to be transferred, and for adjusting the size of theimage data to be transferred to the printing apparatus based on theresult of the comparison, thereby generating transfer data to betransferred by the transfer control means.

[0035] In accordance with the eighteenth aspect of the presentinvention, the transfer control means transfers the image data in adividing manner in a plurality of transfer cycles.

[0036] In accordance with the nineteenth aspect of the presentinvention, the transfer control means suspends the transfer of imagedata to the printing apparatus, depending on the memory resource usestatus acquired from the printing apparatus during the dividing transferof the image data.

[0037] In accordance with the twentieth aspect of the present invention,the data processing means extracts non-overlapping pixel data in astepping manner from the image data and generates the transfer databased on the extracted pixel data.

[0038] According to the twenty-first aspect of the present invention,there is provided a printing apparatus communicable with an informationprocessing apparatus through a predetermined communication medium,comprising: first storage means for dividing printing informationreceived from the information processing apparatus into a plurality ofbands of data and for storing the bands of data; and first informingmeans for informing the information processing apparatus of the statusof use of the first storage means.

[0039] According to the twenty-second aspect of the present invention,there is provided a printing apparatus communicable with an informationprocessing apparatus through a predetermined communication medium,comprising: compression means for compressing, in accordance with apredetermined compression protocol, image data received from theinformation processing apparatus; second storage means for storing thecompressed image data formed by the compression means; expansion meansfor expanding, in accordance with a predetermined expansion protocol,the compressed image data stored in the second storage means; andprinting means for printing the image data which has been expanded bythe expansion means.

[0040] In accordance with the third aspect of the present invention, theprinting apparatus further comprises second informing means forinforming the information processing apparatus of the status of use ofthe second storage means.

[0041] In accordance with the twenty-fourth aspect of the presentinvention, the printing apparatus further comprises: interpolation meansfor judging the state of development of the compressed image in thesecond storage means and for conducting a predetermined interpolationprocessing on the image data expanded by the expansion means, therebyrestoring the image data.

[0042] According to a twenty-fifth aspect of the present invention,there is provided a printing system comprising an information processingapparatus and a printing apparatus having a memory resource divided toprovide band areas each of which being capable of developing an imagetherein, the information processing apparatus and the printing apparatusbeing capable of band-communicating with each other through apredetermined communication medium, wherein the information processingapparatus comprises: developing means for acquiring memory resource usestatus information delivered by the printing apparatus and fordeveloping printing information which has been transferred to theprinting apparatus into image data of a form which can be outputted bythe printing apparatus; and transfer control means for transferring theimage data developed by the developing means to the printing apparatus;and wherein the printing apparatus comprises: first storage means fordividing printing information received from the information processingapparatus into a plurality of bands of data and for storing the bands ofdata; first informing means for informing the information processingapparatus of the status of use of the first storage means; compressionmeans for compressing, in accordance with a predetermined compressionprotocol, image data received from the information processing apparatus;second storage means for storing the compressed image data formed by thecompression means; expansion means for expanding, in accordance with apredetermined expansion protocol, the compressed image data stored inthe second storage means; and printing means for printing the image datawhich has been expanded by the expansion means.

[0043] In accordance with the twenty-sixth aspect of the presentinvention, the information processing apparatus comprises: dataprocessing means for acquiring information concerning image datadevelopment area size allocated in the memory resource of the printingapparatus, comparing based on the acquired information the image datadevelopment area size with the total size of the image data to betransferred, and for adjusting the size of the image data to betransferred to the printing apparatus based on the result of thecomparison, thereby generating transfer data to be transferred by thetransfer control means.

[0044] In accordance with the twenty-seventh aspect of the presentinvention, the transfer control means transfers the image data in adividing manner in a plurality of transfer cycles.

[0045] In accordance with the twenty-eighth aspect of the presentinvention, the transfer control means suspends the transfer of imagedata to the printing apparatus, depending on the memory resource usestatus acquired from the printing apparatus during the dividing transferof the image data, while the printing apparatus further comprises secondinforming means for informing the information processing apparatus ofthe status of use of the second storage means.

[0046] In accordance with the twenty-ninth aspect of the presentinvention, the data processing means extracts non-overlapping pixel datain a stepping manner from the image data and generates the transfer databased on the extracted pixel data, while the printing apparatus furthercomprises interpolation means for judging the state of development ofthe compressed image in the second storage means and for conducting apredetermined interpolation processing on the image data expanded by theexpansion means, thereby restoring the image data.

[0047] According to the thirtieth aspect of the present invention, thereis provided a data processing method for use in an informationprocessing apparatus capable of performing, through a predeterminedcommunication medium, band communication with a printing apparatushaving a memory resource divided to provide band areas each of whichbeing capable of developing an image therein, the method comprising: adeveloping step for acquiring memory resource use status informationdelivered by the printing apparatus and for developing printinginformation which has been transferred to the printing apparatus intoimage data of a form which can be outputted by the printing apparatus;and a first transferring step for transferring the image data developedby the developing means to the printing apparatus.

[0048] In accordance with the thirty-first aspect of the presentinvention, the data processing method further comprises: a dataprocessing step for acquiring information concerning image datadevelopment area size allocated in the memory resource of the printingapparatus, comparing based on the acquired information the image datadevelopment area size with the total size of the image data to betransferred, and for adjusting the size of the image data to betransferred to the printing apparatus based on the result of thecomparison, thereby generating transfer data to be transferred; and asecond transferring step for transferring the transfer data in adividing manner in a plurality of transfer cycles.

[0049] According to the thirty-second aspect of the present invention,there is provided a data processing method for use in printing apparatuscommunicable with an information processing apparatus through apredetermined communication medium, the method comprising: first storingstep for dividing printing information received from the informationprocessing apparatus into a plurality of bands of data and for storingthe bands of data in first storage means; and first informing step forinforming the information processing apparatus of the status of use ofthe first storage means.

[0050] According to the thirty-third aspect of the present invention,there is provided a data processing method for use in printing apparatuscommunicable with an information processing apparatus through apredetermined communication medium, the method comprising: a compressingstep for compressing, in accordance with a predetermined compressionprotocol, image data received from the information processing apparatus;a second storing step for storing the compressed image data formed inthe compressing step in a second storage means; a second informing stepfor informing the information processing apparatus of the status of useof the second storage means; an expanding step for expanding, inaccordance with a predetermined expansion protocol, the compressed imagedata stored in the second storage means; and a printing step forprinting the image data which has been expanded by the expansion means.

[0051] In accordance with the thirty-fourth aspect of the presentinvention, the data processing method further comprises an interpolatingstep for judging the state of development of the compressed image in thesecond storage means and for conducting a predetermined interpolationprocessing on the image data expanded by the expansion means, therebyrestoring the image data.

[0052] According to the thirty-fifth aspect of the present invention,there is provided a storage medium storing a computer-readable program,the computer-readable program comprising: a developing step foracquiring memory resource use status information delivered by theprinting apparatus and for developing printing information which hasbeen transferred to the printing apparatus into image data of a formwhich can be outputted by the printing apparatus; and a first transferstep for transferring the image data developed by the developing meansto the printing apparatus.

[0053] In accordance with the thirty-sixth aspect of the presentinvention, the computer-readable program further comprises: a dataprocessing step for acquiring information concerning image datadevelopment area size allocated in the memory resource of the printingapparatus, comparing based on the acquired information the image datadevelopment area size with the total size of the image data to betransferred, and for adjusting the size of the image data to betransferred to the printing apparatus based on the result of thecomparison, thereby forming transfer data to be transferred; and asecond transferring step for transferring the transfer data in adividing manner in a plurality of transfer cycles.

[0054] In accordance with the thirty-seventh aspect of the presentinvention, the computer-readable program further comprises: firststoring step for dividing printing information received from theinformation processing apparatus into a plurality of bands of data andfor storing the bands of data in first storage means; and firstinforming step for informing the information processing apparatus of thestatus of use of the first storage means.

[0055] According to the thirty-eighth aspect of the present invention,there is provided a storage medium storing a computer-readable program,wherein the program comprises: a compressing step for compressing, inaccordance with a predetermined compression protocol, image datareceived from the information processing apparatus; a second storingstep for storing the compressed image data formed in the compressingstep in a second storage means; a second informing step for informingthe information processing apparatus of the status of use of the secondstorage means; an expanding step for expanding, in accordance with apredetermined expansion protocol, the compressed image data stored inthe second storage means; and a printing step for printing the imagedata which has been expanded by the expansion means.

[0056] In accordance with the thirty-ninth aspect of the presentinvention, the computer-readable program further comprises aninterpolating step for judging the state of development of thecompressed image in the second storage means and for conducting apredetermined interpolation processing on the image data expanded by theexpansion means, thereby restoring the image data.

[0057] As described at the beginning, in the printing apparatus inaccordance with the first aspect of the present invention, the firstjudging means judges whether or not the intermediate code informationcorresponding to one page has been stored in the first storage area,while the first memory control means operative based on the result ofjudgment conducted by the first judging means so as to cause the secondconversion means to convert the intermediate code information stored inthe first storage area on the predetermined band basis into image and todevelop the image in the second storage area, thereby forming a vacantarea in the first storage area. Therefore, even when the printinginformation received from the information processing apparatus is toolarge to be stored in the first storage area allocated in the memoryresource, the whole one-page printing information from the informationprocessing apparatus can be received and stored in the form ofintermediate code information by making an effective use of the secondstorage area.

[0058] According to the second aspect of the invention, after thepreservation of the vacant area by the first memory control means, thesecond memory control means operates based on the result of the judgmentperformed by the first judging means, so as to cause the secondconversion means to convert into image the intermediate code informationof a band which does not contain image data from among the bands ofintermediate code information stored in the first storage area, and todevelop the image into the second storage area. Then, the compressionmeans compresses the image-developed output information into apredetermined volume, thereby generating compressed output information.Then, the third memory control means for causes the first storage areato store the compressed output information generated by the compressionmeans. In operation, the intermediate code information of the bandsstored in the first storage area is image-developed through the secondstorage area and again stored in the first storage area. If fullone-page intermediate code information cannot be stored in the firststorage area despite such a technique, the compression means operates tocompress the image-developed output information, so that full one-pageprinting information can be stored in the form of combination ofpredetermined intermediate codes and image data.

[0059] According to the third aspect, after the transfer to the printingapparatus of page printing information except for image data in the pageperformed by the transfer means, the inquiry means inquires about thesize of vacancy in an intermediate code information storage areapreserved in a memory resource of the printing apparatus. Then, thetransfer control means compares the size of the image data with the sizeof the vacancy informed by the printing apparatus in response to theinquiry made by the inquiry means, and controls the size of the imagedata to be transferred, based on the result of the comparison. It istherefore possible to control the size of the image data to betransferred, in accordance with the size of the vacancy in the memoryresource of the printing apparatus, in advance of the transfer.

[0060] According to the fourth aspect, the transfer control means, whenjudging that the size of the image data exceeds the size of vacancy,compresses the image data so as to reduce the size of the image data tobe transferred. It is therefore possible to store the transferred imagedata without fail in the limited area of vacancy in the memory resource.

[0061] According to the fifth aspect, the informing means informs theinformation processing apparatus of the size of vacancy formed in thefirst storage area after conversion performed by the first conversionmeans, in response to an inquiry made by the information processingapparatus about the vacancy size. The information processing apparatus,therefore, can know the size of the vacancy in the first storage areawhich stores the intermediate code information corresponding to theprinting information other than image data.

[0062] According to the sixth aspect, the informing means informs theinformation processing apparatus of the size of vacancy formed in thefirst storage area after conversion performed by the first conversionmeans, in response to an inquiry made by the information processingapparatus about the vacancy size, so that the information processingapparatus can know the size of the vacancy in the first storage areawhich stores the intermediate code information corresponding to theprinting information other than image data. Meanwhile, the transfercontrol means, when it is judged that the size of the vacancy isexceeded by the size of the image data, operates to adjust the size ofthe image data to be transferred. It is therefore possible to store theimage data without fail, even when the size of the vacant area formed inthe memory resource of the printing apparatus is limited.

[0063] According to the seventh aspect, the transfer control means, whenit is judged that the size of the vacancy is exceeded by the size of theimage data, operates to compress the image data to a predetermined size,thus reducing the size of the image data to be transferred. It istherefore possible to store the image data without fail, even when thesize of the vacant area formed in the memory resource of the printingapparatus is limited.

[0064] According to the eighth aspect, a judgment is conducted as towhether or not the intermediate code information corresponding to onepage has been stored in the first storage area and, thereafter, a stepis executed based on the result of judgment, so as to cause theintermediate code information stored on the predetermined band basis inthe first storage area to be developed into image in the second storagearea, thereby preserving vacant area in the first storage area, wherebythe subsequent intermediate code data can be stored in the vacant areaformed in the first storage area. Therefore, even if the size of thereceived one-page printing information is too large to be stored in thefirst storage area, it is possible to store full one-page printinginformation in the form of intermediate code information, by making useof the second storage area preserved in the memory resource.

[0065] According to ninth aspect, after storage of the subsequentintermediate code information in the vacant area, judgment is conductedas to whether or not the intermediate code information corresponding toone page has been stored in the first storage area. Then, based on theresult of the judgment, the intermediate code information of a bandwhich does not contain image data, from among the bands of intermediatecode information stored in the first storage area, is image-developedand stored in the second storage area. The image-developed outputinformation is then compressed into a predetermined volume, wherebycompressed output information is produced. The compressed outputinformation is then stored in the first storage area. In operation, theintermediate code information of the bands stored in the first storagearea is image-developed through the second storage area and again storedin the first storage area. If full one-page intermediate codeinformation cannot be stored in the first storage area despite such atechnique, the compression means operates to compress theimage-developed output information, so that full one-page printinginformation can be stored in the form of combination of predeterminedintermediate codes and image data.

[0066] According to the tenth aspect, a first transferring step isexecuted for transferring first printing information formed by removingimage data from one-page printing information to be transferred,followed by execution of a first converting step for converting, on apredetermined band basis, the first printing information received fromthe information processing apparatus into a predetermined intermediatecode information. The intermediate code information obtained through theconversion is stored in the first storage area preserved in the memoryresource. After the storage of the intermediate code information in thefirst storage area, the information processing apparatus is informed ofthe size of vacancy in the first storage area, in response to an inquirygiven by the information processing apparatus. Therefore, theinformation processing apparatus can know the size of the vacant spacein the first storage area which stores the intermediate code informationcorresponding to the printing information other than the image data.

[0067] According to the eleventh aspect, a judging step is executed tocompare the size of the image data to be transmitted with the size ofvacancy informed by the printing apparatus, followed by the reducingstep for reducing the size of the image data to be transferred based onthe result of the judgment. The image data of the thus reduced size istransferred to the printing apparatus. It is therefore possible to storewithout fail the transferred image data even when the vacant area formedin the memory resource of the printing apparatus is limited.

[0068] According to the twelfth aspect, a storage medium stores aprogram which includes a step of performing a judgment as to whether ornot the intermediate code information corresponding to one page has beenstored in the first storage area, and a subsequent step conducted basedon the result of judgment conducted by the first judging means so as tocause the intermediate code information stored on the predetermined bandbasis in the first storage area to be developed into image in the secondstorage area, thereby preserving vacant area in the first storage area,and to store subsequent intermediate code data into the vacant area.When this program is executed by a computer loaded with this storagemedium, printing information of one page from the information processingapparatus can be stored in the form of intermediate code information bymaking effective use of the second storage area in the memory resource.

[0069] According to the thirteenth aspect, a storage medium stores aprogram which has the steps of: judging, after storage of the subsequentintermediate code information in the vacant area, whether or not theintermediate code information corresponding to one page has been storedin the first storage area; developing, based on the result of thejudgment performed in the second judging step, into image theintermediate code information of a band which does not contain imagedata from among the bands of intermediate code information stored in thefirst storage area, and to store the developed image in the secondstorage area; compressing the image-developed output information into apredetermined volume, thereby generating compressed output information;and storing the compressed output information in the first storage area.This storage medium is loaded on a computer so as to be read andexecuted by the computer. In operation, the intermediate codeinformation of the bands stored in the first storage area isimage-developed through the second storage area and again stored in thefirst storage area. Even in the event that full one-page intermediatecode information cannot be stored in the first storage area despite sucha technique, the computer-readable program operates to compress theimage-developed output information, so that full one-page printinginformation can safely be stored in the form of combination ofpredetermined intermediate codes and image data.

[0070] According to the fourteenth aspect, a storage medium stores acomputer-readable program for executing steps of transferring firstprinting information formed by removing image data from one-pageprinting information to be transferred, converting, on a predeterminedband basis, the first printing information received from the informationprocessing apparatus into a predetermined intermediate code information,storing the intermediate code information obtained through theconversion in a first storage area preserved in a memory resource, andinforming, after the storage of the intermediate code information in thefirst storage area, the information processing apparatus of the size ofvacancy in the first storage area, in response to an inquiry given bythe information processing apparatus. The program is read and executedby a computer loaded with this storage medium, so that the informationprocessing apparatus can know the size of the vacant area available inthe first storage area which stores intermediate code informationcorresponding to the printing information other than the image data.

[0071] According to the fifteenth aspect, a storage medium stores acomputer-readable program which executes the steps of comparing the sizeof the image data to be transmitted with the size of vacancy informed bythe printing apparatus, reducing the size of the image data to betransferred based on the result of the judgment, and a secondtransferring step for transferring the reduced image data to theprinting apparatus. This program is read and executed by a computerloaded with the storage medium, so that the image data to be transferredis safely received and stored even in a limited area of vacancyavailable in the memory resource.

[0072] Thus, according to the first to fifteenth aspect of the presentinvention, it is possible to eliminate any unexpected printing failureattributable to overflow of the memory without requiring expansion ofthe memory resource, thus ensuring safe printing of printing informationsent form a host apparatus, despite any complexity of information.

[0073] According to the sixteenth aspect of the present invention, thedeveloping means acquires memory resource use status informationdelivered by the printing apparatus and develops printing informationwhich has been transferred to the printing apparatus into image data ofa form which can be outputted by the printing apparatus. The transfercontrol means transfers the image data developed by the developing meansagain to the printing apparatus. Therefore, when the printinginformation transferred from the information processing apparatus cannotbe processed due to restriction in the printing information storage areaallocated in the memory resource of the printing apparatus, the printinginformation is developed into image data by the information processingapparatus before the transfer to the printing apparatus. Thus, theprinting apparatus receives the printing information in the form ofimage data, so that it can directly and safely print the printinginformation, even if the original printing information cannot beprocessed due to restriction in the storage area allocated in the memoryresource.

[0074] According to the seventeenth aspect, data processing meansacquires information concerning development area size allocated in thememory resource of the printing apparatus, and compares based on theacquired information the image data development area size with the totalsize of the image data to be transferred. The data processing means thenadjusts the size of the image data to be transferred to the printingapparatus based on the result of the comparison, thereby generatingtransfer data to be transferred by the transfer control means. Thus,when the size of the image data from the information processingapparatus exceeds the size of the image storage area allocated in thememory resource of the printing apparatus, the image data size isadjusted so that the image data can safely be stored in the image dataarea allocated in the memory resource of the printing apparatus, beforethe image data is transferred to the printing apparatus.

[0075] According to the eighteenth aspect, the transfer control meanstransfers the image data in a dividing manner in a plurality of transfercycles. Therefore, when the size of the image data from the informationprocessing apparatus exceeds the size of the image area allocated in thememory resource of the printing apparatus, the image data to betransferred to the printing apparatus is adjusted by being divided so ato be transferred in a plurality of cycles. Therefore, the printingapparatus can receive image data which can restore the whole originalimage data, without causing overflow of the image storage area allocatedfor the memory resource.

[0076] According to nineteenth aspect, the transfer control meanssuspends the transfer of image data to the printing apparatus, dependingon the memory resource use status acquired from the printing apparatusduring the dividing transfer of the image data. Therefore, the transferof the image data to the printing apparatus is suspended whenever thesize of the image data to be transferred from the information processingapparatus exceeds the size of the image storage area allocated in thememory resource of the printing apparatus. It is thus possible toprevent overflow of the image storage area in the memory resource whichotherwise may occur due to transfer of excessively large size of imagedata to the printing apparatus.

[0077] According to the twentieth aspect, the data processing meansextracts non-overlapping pixel data in a stepping manner from the imagedata and generates the transfer data based on the extracted pixel data.It is therefore possible to transfer image data which can restore thewhole image to the printing apparatus in a stepped manner, whileavoiding overlapping, without causing the image storage area allocatedin the memory resource of the printing apparatus to overflow with theimage data coming from the information processing apparatus.Consequently, it is possible to transfer image data which canapproximate the whole image as much as possible, without causingoverflow of the image storage area.

[0078] According to the twenty-first aspect, a first storage meansdivides printing information received from the information processingapparatus into a plurality of bands of data and stores the bands of datatherein, and the first informing means informs the informationprocessing apparatus of the status of use of the first storage means.Therefore, the information processing apparatus is informed of any riskof printing information processing failure which may occur due torestriction in the size of the storage area allocated in the memoryresource of the printing apparatus. Namely, the information processingapparatus can know, in advance of completion of the transfer of theprinting information, the risk of overflow of the storage area allocatedin the memory resource.

[0079] According to the twenty-second aspect, the compression meanscompresses, in accordance with a predetermined compression protocol,image data received from the information processing apparatus. Thesecond storage means stores the compressed image data formed by thecompression means. The expansion means expands, in accordance with apredetermined expansion protocol, the compressed image data stored inthe second storage means. The printing means then prints the image datawhich has been expanded by the expansion means. Thus, the image data iscompressed so as to be safely stored in the image storage area allocatedin the memory resource, so that the whole image can be printed at highdegree of quality as possible.

[0080] According to the twenty-third aspect, the second informing meansinforms the information processing apparatus of the status of use of thesecond storage means. A host computer, therefore, can know that theamount of the image data transferred from the information processingapparatus has exceeded the size of the image storage area allocated inthe memory resource.

[0081] According to the twenty-fourth aspect, the interpolation meansjudges the state of development of the compressed image in the secondstorage means and conducts a predetermined interpolation processing onthe image data expanded by the expansion means, thereby restoring theimage data. Therefore, in the case where the size of the image datatransferred from the information processing apparatus exceeds the sizeof the image storage area allocated in the memory resource, the printingapparatus restores the original image data based on the amount of thedata which already has been received, and performs the printing based onthe thus restored image data. It is therefore possible to print thewhole image data with high degree of quality as possible, based on theimage data which already has been received, even when the total size ofthe image data to be transferred exceeds the size of the image areaallocated in the memory resource.

[0082] According to the twenty-fifth aspect, when the use statusinformation concerning the state of use of the memory resource, i.e.,the first storage means, is received from the printing apparatus bymeans of the first informing means during transfer of the printinginformation, the transfer control means transfers the image datadeveloped by the developing means to the printing apparatus. Thedirectly printable image data is compressed by the compression means andstored in the memory resource, i.e., the second storage means. Thecompressed data is then expanded by the expanded means and printed bythe printing apparatus. Thus, the state of use of the memory resource ofthe printing apparatus is monitored and, when there is a risk that theprinting information to be sent to the printing apparatus may cause anoverflow of the storage area allocated in the memory resource, theprinting information is directly received from the informationprocessing apparatus in the form of printable image data, and iscompressed so as not to cause overflow of the memory. The compresseddata is then expended and printed without fail.

[0083] According to the twenty-sixth aspect, the data processing meansacquires information concerning image data development area sizeallocated in the memory resource of the printing apparatus, comparesbased on the acquired information the image data development area sizewith the total size of the image data to be transferred, and adjusts thesize of the image data to be transferred to the printing apparatus basedon the result of the comparison, thereby generating transfer data to betransferred by the transfer control means. In the event that the size ofthe image data to be transferred from the information processingapparatus exceeds the size of the image area allocated in the memoryresource of the printing apparatus, the size of the image data to betransferred is adjusted to a size which can be accommodated by the imagestorage area allocated in the memory resource. The image data of thethus adjusted size is transferred to and printed by the printingapparatus.

[0084] According to the twenty-seventh aspect, the transfer controlmeans transfers the image data in a dividing manner in a plurality oftransfer cycles. Therefore, when the size of the image data from theinformation processing apparatus exceeds the size of the image areaallocated in the memory resource of the printing apparatus, the imagedata to be transferred to the printing apparatus is adjusted by beingdivided so a to be transferred in a plurality of cycles. Therefore, theprinting apparatus can receive image data which can restore the wholeoriginal image data, without causing overflow of the image storage areaallocated for the memory resource.

[0085] According to the twenty-eighth aspect, the transfer control meanssuspends the transfer of image data to the printing apparatus, dependingon the information concerning the status of use of the memory resource,i.e., the first storage means, acquired from the printing apparatusduring the dividing transfer of the image data. Therefore, the printingapparatus gives a clear indication of any risk that the size of theimage storage area allocated in memory resource is going to be exceededby the size of the image data transferred from the informationprocessing apparatus, and, upon receipt of such indication, theinformation processing apparatus can suspend the transfer of the imagedata to the printing apparatus. It is therefore possible to avoidtransfer of image data to the printing apparatus in excess of the sizeof the image area allocated in the memory resource.

[0086] According to the twenty-ninth aspect, the data processing meansextracts non-overlapping pixel data in a stepping manner from the imagedata and generates the transfer data based on the extracted pixel data,and the transfer data thus generated is transferred to the printingapparatus by the operation of the transfer control means. The printingapparatus then compresses the received image data and stores thecompressed image data in the second storage means. Then, theinterpolation means judges the state of development of the compressedimage in the second storage means and conducts a predeterminedinterpolation processing on the image data expanded by the expansionmeans, thereby restoring the image data. It is therefore possible tosupply, stepwise and in a non-overlapping manner, the printing apparatuswith the image data which can produce the whole image, without causingthe image storage area allocated in the memory resource of the printingapparatus to overflow with the image data supplied by the informationprocessing apparatus. The printing apparatus thus restores the originalimage data by interpolation based on the image data which already hasbeen received. It is therefore possible to transfer to the printingapparatus image data which can approximate the whole image as much aspossible, without causing overflow of the image storage area allocatedin the memory resource, whereby printing can be performed at high degreeof quality as possible.

[0087] According to the thirtieth and thirty-fifth aspect, there isprovided a data processing method for use in an information processingapparatus capable of performing, through a predetermined communicationmedium, band communication with a printing apparatus having a memoryresource divided to provide band areas each of which being capable ofdeveloping an image therein. In this method, memory resource use statusinformation is acquired from the printing apparatus and, based on thisinformation, the printing information which has been transferred to theprinting apparatus is developed into image data of a form which can beoutputted by the printing apparatus. The thus-developed image data issent again to the printing apparatus. According to this method, evenwhen the processing of the printing information transferred from theinformation processing apparatus is failed due to restriction in theprinting information storage area allocated in the memory resource,printing can be performed safely because the printing information isdeveloped by the developing means of the information processingapparatus into image data which is then transferred to the printingapparatus.

[0088] According to the thirty-first and thirty-fifth aspects, the dataprocessing method has the steps of acquiring information concerningimage data development area size allocated in the memory resource of theprinting apparatus, comparing based on the acquired information theimage data development area size with the total size of the image datato be transferred, adjusting the size of the image data to betransferred to the printing apparatus based on the result of thecomparison, thereby generating transfer data to be transferred, andtransferring the transfer data in a dividing manner in a plurality oftransfer cycles. It is therefore possible to transfer the image data asmuch as possible to the printing apparatus, even when the size of theimage data exceeds the size of the image storage area allocated in thememory resource.

[0089] According to the thirty-second and thirty-seventh aspects, thereis provided a data processing method for use in printing apparatuscommunicable with an information processing apparatus through apredetermined communication medium, wherein the printing informationreceived from the information processing apparatus is divided into aplurality of bands of data and the bands of data thus obtained arestored in first storage means. At the same time, the informationprocessing apparatus is informed of the status of use of the firststorage means. Thus, the information processing apparatus is informed ofany risk that the processing of the printing information transferredfrom the information processing apparatus may fail due to restriction inthe printing information storage area allocated in the memory resourceof the printing apparatus. Thus, the information processing apparatuscan know, in advance of the completion of transfer of the printinginformation, that the storage area allocated in the memory resource willoverflow with the printing information.

[0090] According to the thirty-third and thirty-eighth aspects, there isprovided a data processing method for use in printing apparatuscommunicable with an information processing apparatus through apredetermined communication medium, wherein the image data received fromthe information processing apparatus is compressed in accordance with apredetermined compression protocol, and the thus compressed image datais stored in the second storage means. The information processingapparatus is informed of the status of use of the second storage means.In accordance with the state of use of the second storage means, thecompressed image data is expanded in accordance with a predeterminedprotocol, and the thus expanded image data is printed. Thus, the imagedata which has already been stored in the printing apparatus is storedin compressed state, so that the whole image can be printed at highquality as possible, even when the size of the image data transferredstepwise from the information processing apparatus to the printingapparatus exceeds the image storage area allocated in the memoryresource of the printing apparatus.

[0091] According to the thirty-fourth and thirty-ninth aspects, theinterpolation means judges the state of development of the compressedimage in the second storage means and conducts a predeterminedinterpolation processing on the image data expanded by the expansionmeans, thereby restoring the image data. Therefore, in the case wherethe size of the image data transferred stepwise from the informationprocessing apparatus to the printing apparatus exceeds the size of theimage storage area allocated in the memory resource, the printingapparatus restores the original image data based on the amount of thedata which already has been received, and performs the printing based onthe thus restored image data. It is therefore possible to print thewhole image data with high degree of quality as possible, based on theimage data which already has been received, even when the total size ofthe image data to be transferred exceeds the size of the image areaallocated in the memory resource.

[0092] Thus, when the processing of the printing information transferredfrom the host computer fails due to restriction in the printinginformation storage area allocated in the memory resource of theprinter, the printing information is developed into image data by thehost computer and thus developed image data is transferred to theprinter, whereby the printing can be performed as much as possible.Furthermore, the image data is transferred in a stepped manner inaccordance with the size of the image data to be transferred from thehost computer and, when the size of the image data exceeds the size ofthe image storage area allocated in the printer memory resource, theprinter restores the original image data based on the image data whichalready has been transferred to the printer. It is therefore possible toprint the whole image at high degree of quality as possible, even whenthe size of the image data exceeds the size of the image storage areaallocated in the memory resource.

[0093] The above and other objects, features and advantages of thepresent invention will become clear from the following description ofthe invention and statements of claims with reference to theaccompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0094]FIG. 1 is a block diagram showing the construction of a printingsystem capable of providing a printing apparatus which is an embodimentof the present invention;

[0095]FIGS. 2A and 2B are illustrations of the manner of band-divisionof printing information which is transferred from a host computer to aprinter in the system shown in FIG. 1;

[0096]FIG. 3 is an illustration of an example of the data structure ofthe printing information shown in FIG. 2;

[0097]FIG. 4 is an illustration of the data structure of an intermediatecode corresponding to the printing information shown in FIG. 3;

[0098]FIG. 5 is a flow chart illustrative of an embodiment of the dataprocessing method for use in a printing apparatus in accordance with thepresent invention;

[0099]FIG. 6 is a schematic illustration of a compression processing ofthe intermediate code data shown in FIG. 4;

[0100] FIGS. 7 to 9 are flow charts illustrative of an embodiment of thedata processing method for use in a printing system embodying thepresent invention;

[0101]FIG. 10 is an illustration of a memory map of a recording mediumstoring various computer-readable data processing programs for use in aprinting system in accordance with the present invention;

[0102]FIGS. 11A and 11B are illustrations of states of memory resourceallocation in a printing apparatus;

[0103]FIG. 12 is a block diagram showing the construction of a printingsystem which is a sixth embodiment of the present invention;

[0104]FIG. 13 is a schematic illustration of the printing system shownin FIG. 12;

[0105]FIG. 14 is a schematic illustration of a one-page printing datawhich is stored in a RAM or an external memory of a host computer shownin FIG. 12 and which contains text data, graphics data and image data;

[0106]FIG. 15 is an illustration of a memory map in a RAM of a printershown in FIG. 12;

[0107]FIG. 16 is an illustration of the detail of the printing datashown in FIG. 14;

[0108]FIG. 17 is an illustration of image data which is printable by theprinting system shown in FIG. 12;

[0109]FIG. 18 is an illustration of a document data format sent from thehost computer to the printer in the system shown in FIG. 12;

[0110]FIG. 19 is a schematic illustration of restoration of an originaldot data from a plurality of groups of dot data obtained by dividing theimage data shown in FIG. 17;

[0111]FIG. 20 is a flow chart illustrative of a data processing methodin a printing system in accordance with the present invention;

[0112]FIG. 21 is a flow chart illustrative of a data processing methodin a printing system in accordance with the present invention;

[0113]FIG. 22 is a flow chart illustrative of an image processing methodin a printing system in accordance with the present invention;

[0114]FIG. 23 is a flow chart illustrative of an image processing methodin a printing system in accordance with the present invention;

[0115]FIG. 24 is a flow chart illustrative of an image processing methodin a printing system in accordance with the present invention;

[0116]FIG. 25 is a flow chart illustrative of an image processing methodin a printing system in accordance with the present invention; and

[0117]FIG. 26 is an illustration of a memory map in storage medium whichstores various computer-readable data processing program s used in theprinting system of the present invention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0118] [First Embodiment]

[0119]FIG. 1 is a block diagram showing the construction of a printingsystem capable of providing a printing apparatus which is an embodimentof the present invention. The illustrated system represents a system inwhich a host computer 1500 such as a personal computer and a pageprinter 2500 such as a laser beam printer are connected forcommunication with each other.

[0120] Referring to FIG. 1, the host computer 1500 has a data processingunit 1000 which has a CPU 1, RAM 2, ROM 3, keyboard controller (KBC) 5,CRT controller (CRTC) 6, a memory controller (MC) 7, a printercontroller (PRTC) 8, a system BUS 4, and so forth. The CPU 1 performsdata processing by executing various programs (system program,application program) loaded on the RAM 2 from the ROM 3 or the externalmemory 11, while a printer driver loaded on the RAM 2 from the externalmemory conducts various processings such as those for communication andtransfer of printing information between the host computer 1500 and theprinter 2500.

[0121] Numeral 9 denotes a keyboard for entry of various kinds ofinformation. Numeral 10 denotes a display apparatus (CRT) which displaysvarious kinds of picture information such as pictures of applications,printer drivers and so forth. The external memory 11 and the RAM 12 areso constructed that the user can optionally expand their memorycapacities.

[0122] The printer 2500 shown in FIG. 1 has a controller 2000 whichanalyzes the document data transferred from the host computer andconverts the same into dot patterns. Numeral 17 denotes a printingsection which prints the dot pattern data sent from the controller 2000.

[0123] The controller 2000 has a CPU 12 and a RAM 13. As shown in FIG.11A, the RAM 13 is divided into an intermediate code memory 501, a firstband memory 502, a second band memory 503 and other memory 504.

[0124] Numeral 14 designates a ROM which is constituted by a characterfont ROM 141, a program ROM 142 which stores the program of the CPU 12,a data ROM 143, and a system BUS 22.

[0125] In the operation of the host computer 1500 of the printing systemhaving the described construction, the CPU 1 forms a document data onthe RAM 12 and sends to the printer 2500 printing information as shownin FIG. 2A inclusive of document data and image data,via a PRTC (printercontroller) 8 and through a bi-directional data communication line 21.

[0126]FIGS. 2A and 2B schematically show the manner in which theprinting information transferred from the host computer 1500 to theprinter 2500 is divided into bands. FIG. 2A corresponds to the printinginformation which is transferred from the host computer 1500 to theprinter 2500, while FIG. 2B shows the band.

[0127] Referring to FIGS. 2A and 2B, numerals 201 to 204 denote objectpoint data for scribing straight lines. Thus, straight lines asillustrated are scribed as the object point data 201 to 204 are input.Numeral 205 denotes an image data, 206 denotes character data whichcorresponds to entry of, for example, characters A, B, C and D. Numerals221 to 223 designate band areas which are defined by scribing.

[0128]FIG. 3 illustrates an example of the data structure of theprinting information shown in FIG. 2A. This data structure correspondsto the printing information inclusive of print control codes,transferred from the host computer 1500 to the printer 2500.

[0129] Material data is contained between a header code 301 and a footercode 316. Numerals 302 to 305 denote straight line scribing commands.More specifically, the straight line scribing command 302 is a commandfor scribing the straight line interconnecting the object point data 201and the object point data 202. The straight line scribing command 303 isa command for scribing straight line between the object point data 202and the object point data 203. The straight line scribing command 304 isa command for scribing a straight line between the object point data 203and the object point data 204. The straight line scribing command 305 isa command for scribing a straight line between the object point data 204and the object point data 201.

[0130] Numeral 306 designates a character start address designatingcommand which serves as a command for designating printing address ofthe character data 206. Numeral 307 denotes a command for designatescharacter font type for designating a font type available on the printer2500, such as Mincho, courier, and so forth. Numeral 308 designates acharacter font size designating command for designating the font size,e.g., 12 point, to be used on the printer 2500.

[0131] Numerals 309 to 312 denote character codes which correspond tocharacter data 206 shown in FIG. 2A. Numeral 313 designates an imagestart address designating command which serves as an address fordesignating the address at which the printing of the image data 205shown in FIG. 2A is to be started. Numeral 314 denotes a command fordesignating the X-direction width of the image. This command designatesthe width of the image data 205 shown in FIG. 2A as measured in the Xdirection. Numeral 315 designates an image data which corresponds to theimage data 205 shown in FIG. 2A. The image data 205 may be a binary dataor other multi-value image data.

[0132] The printing information, which is referred to also as :documentdata” and which is sent form the host computer 1500 through the datacommunication line 21, is received by the input section 15 of theprinter 2500. The received data is successively converted by the CPU 12into intermediate codes on band basis, and the bands of the intermediatecodes are stored in an intermediate code memory 501. A description willnow be given of the concept of the “band”.

[0133] If the RAM 12 of the printer 2500 is of the type which has, as isthe case of conventional art, a bit map memory of a size correspondingto one page (4 MB memory size in 600 dpi printer for A-4 size), thedocument data shown in FIG. 3 can be successively be developed on thebit map memory 505. The printer 2500 to which the present inventionpertains has a pair of band memories 502, 503, each having 512 lines(256 KB at 600 dpi), preserved in the RAM 13, in order to reduce therequired capacity or size of the RAM 13. This pair of band memories 502,503 is used as so-called double-buffer: namely, these two band memoriesare alternately switched such that while one of them is sending dot datato the printing section 17, the dot data of the next band is developedin the other band memory.

[0134] This method, however, cannot deal with a scribing command whichspans a plurality of bands such as, for example, the straight linescribing command 303 shown in FIG. 3.

[0135] It is therefore necessary to conduct a work for developing, onband basis, the printing information shown in FIG. 3 into intermediatecodes, and develop the intermediate codes into the band memories, asshown in FIG. 4.

[0136]FIG. 4 shows the data structure of the intermediate codescorresponding to the printing information, and corresponds to a portionof the printing information.

[0137] Referring to FIG. 4, numerals 401, 406 and 417 denote band startcodes which define respective bands 221, 222 and 223 in cooperation withthe associated band end codes 405, 416 and 430, and various scribingcommands and other commands are incorporated in each of the bands 221,22 and 223.

[0138] Numerals 402 to 404, 407, 408, 418 and 419 denote straight linescribing commands. More specifically, the straight line scribing command402 is a command which serves to scribe a straight line interconnectingthe object point data 201 and the object point data 202 shown in FIG.2B. The straight line scribing command 403 is a command which serves toscribe a straight line interconnecting the object point data 202 and theobject point data 210. The straight line scribing command 404 is acommand which serves to scribe a straight line interconnecting theobject point data 207 and the object point data 201.

[0139] The straight line scribing command 407 is a command which servesto scribe a straight line interconnecting the object point data 210 andthe object point data 211. The straight line scribing command 408 is acommand which serves to scribe a straight line interconnecting theobject point data 208 and the object point data 207. The straight linescribing command 418 is a command which serves to scribe a straight lineinterconnecting the object point data 211 and the object point data 212.The straight line scribing command 419 is a command which serves toscribe a straight line interconnecting the object point data 209 and theobject point data 208.

[0140] Numeral 409 designates a character start address designatingcommand which serves as a command for designating the printing addressin the band 221 of the character data 206 shown in FIG. 2A. Numeral 410denotes a character font type designating command for designating a fonttype available on the printer 2500, such as Mincho, courier, and soforth. Numeral 411 denotes a character font size designating command fordesignating a font size available on the printer 2500, such as 12 pointand so forth. Numerals 412 to 415 denote band scribing commands servingas commands for scribing the character codes 309 to 312 within the band222.

[0141] Numeral 420 designates a character start address designatingcommand which serves as a command for designating the printing addressin the band 223 of the character data 206 shown in FIG. 2A. Numeral 421denotes a character font type designating command for designating a fonttype available on the printer 2500, such as Mincho, courier, and soforth. Numeral 422 denotes a character font size designating command fordesignating a font size available on the printer 2500, such as 12 pointand so forth. Numerals 423 to 426 denote band scribing commands servingas commands for scribing the character codes 309 to 312 within the band223.

[0142] Numeral 427 designates an image start address designating commandwhich serves as a command for designating the start address for scribingthe image data 205 shown in FIG. 2A within the band 223. Numeral 428denotes a width designating command for designating the image width inthe X direction, serving as a command for designating the width of theimage data 205 as measured in the X direction. Numeral 429 designatesimage data corresponding to the portion of the image data to be scribedin the band 223.

[0143] The straight line scribing command 303 over the bands 221 to 223shown in FIG. 2B is substituted by straight line scribing commands 403,407, 418 and so forth of the respective commands. Similarly, characterinformation and image information can be divided into portions belongingto the respective bands. Thus, the document information converted intointermediate cores has a size greater than that of the documentinformation (printing information shown in FIG. 3) transferred from thehost computer 1500. The increment of the size depends on factors such asthe degree of complexity of the document data.

[0144] It is to be noted, however, that the capacity or area size of theRAM 12 in the printer 2500 is definite. In addition, it is meaninglessto increase the area size beyond that of the bit map memory of the sizecorresponding to one page. In this embodiment,therefore, the maximumarea size which can be preserved on the RAM 12 is set to 1 MB. This areasize is large enough to accommodate full one-page image data providedthat the image data is compressed to ¼ as will be described later, butrequired much smaller RAM capacity than the one-page bit map memory. Thesize of ordinary document data composed mostly of characters is on theorder of several tens of KB. The area size of 1 MB, therefore, is largeenough to enable most document data to be printed as it is, withoutrequiring specific processing such as compression.

[0145] In the printing system of this embodiment having the describedconstruction, the page printer receives document data from a commandingdevice such as a host computer and performs the printing on page basisafter converting the document data into dot image, by using a RAM havinga capacity smaller than the size of the dot image data of one full pageto be printed. More specifically, the page-basis document data isdivided into a plurality of bands and conversion of the document datainto dot image is conducted on band basis, i.e., for each of the bands.As a preparatory step, an operation is performed to convert the receivedprinting information into intermediate codes on band basis. Theintermediate codes of each band are then converted into dot imagecorresponding to the band, so as to be subjected to printing.

[0146] The band intermediate codes, inclusive of portions of the codedata and image data which have been allocated to each band, are storedin an area of a predetermined area size (about 1 MB in the illustratedembodiment) in the RAM 13. The above-mentioned area size isadministrated by a memory resource of a size smaller than the size ofdot image data of one full page of the sheet to be used on the pageprinter which is 4 MB, for example, when A-4 size sheets are used.

[0147] The RAM 13 also has a plurality of band memories, e.g., a firstband memory 501 and a second band memory 502, having an area size largeenough to store image data of one band, in addition to theabove-mentioned area of the predetermined capacity for storing theintermediate codes. One of the band memory is used for temporarilystoring dot data converted from the intermediate codes, while the otherserves as a buffer memory for sending the stored dot data to theprinting section 17.

[0148] The CPU 12 executes control programs such as those stored in theprogram ROM 142 of the ROM 14, or control programs loaded on the RAM 13from an external memory 20 or a storage medium which is not shown, so asto conduct operations including various kinds of judgment, memory accesscontrols, and various kinds of communications with the host computer.More specifically, the CPU judges whether full intermediate codescorresponding to one full page can be stored in the intermediate codememory 501 of the RAM 13, i.e., whether or not the size of theintermediate code data of one-page printing information received fromthe host computer 1500 exceeds the capacity of the intermediate codememory 501. When the capacity of the intermediate code memory 501 isexceeded by the size of the intermediate code data of the one-pageprinting information received from the host computer 1500, the CPU 12performs conversion of the intermediate code data into dot data startingfrom the initial band of the page, and stores the bands of dot data inthe bane memory areas except for one band memory area, whereby a vacantspace is formed in the intermediate code storage area. The intermediatecodes of the next document data of the same page are then stored in thevacant area.

[0149] When the CPU 12 has judged that the vacant space formed as aresult of the conversion of the intermediate code data into dot data isnot large enough to enable storage of the whole intermediate code dataof one full page in the intermediate code memory 501, the CPU 12performs conversion of the intermediate code data stored in theintermediate code memory into dot data, starting from the band areawhich contains the greatest size of intermediate code data devoid ofimage data. The dot data thus obtained is stored in remaining bandmemory which is the above-mentioned one band memory area in which thedot data has not been stored. Then a reversible compression processingis performed on the dot data, so as to reduce the data size.

[0150] When the CPU has judged that the size of the reversiblycompressed dot data is still greater than a predetermined second datasize, which is ¼ the size of intermediate code memory (1 MB), i.e., 64KB, in the illustrated case, the CPU 12 operates to expand thecompressed dot data to restore the original dot data, and conductsirreversible compression processing on the restored dot data so as toreduce the data size below the above-mentioned predetermined second datasize. The irreversibly compressed data is then stored in theintermediate code memory 501 at an address at which the bandcorresponding to these intermediate code data has been stored.

[0151] Reversible compression is a compression processing which permitsrestoration to original data by expansion. Various reversiblecompression methods are usable for compressing the data, e.g., a methodknown as run-length method. Detailed description of such methods isomitted. On the other hand, irreversible expansion is such a compressionprocessing that thinned data is formed when the compressed data isexpanded. More practically, irreversible compression is conducted bythinning every other dot out of the original data both in X and Ydirections, so as to forcibly reduce the data size into ¼. The expansionis conducted by enlarging the compressed data by multiplication factorof 2 both in X and Y directions, so as to recover the original size ofthe dot pattern. In this case, however, the quality of the imageobtained through expansion is worse than that of the original image. Itwill be understood that the present invention does not exclude the useof other reversible and irreversible methods than those described above.

[0152] As a result of the foregoing processings, one-page dot data canbe stored in the intermediate code memory 501, even though the dot datamay be coarse.

[0153] The communication between the host computer 1500 and the printer2500 may be executed such that, when one-page printing information is tobe transferred from the host computer 1500 to the printer 2500, the hostcomputer sends first the printing information except for any image datato the printer 2500, so as to start the development of the printinginformation into the intermediate code memory 501. Then, an inquirycommand requesting information about the size of the vacant area left inthe intermediate code memory 501 after the execution is transmitted fromthe host computer 1500 to the printer 2500. In response to this inquirycommand, the CPU 12 of the printer 2500 investigates the size of thevacant area left in the RAM 13, and informs the host computer 1500 ofthe size of the vacant area determined through the investigation. TheCPU 1 then compares the size of the vacant storage area with the size ofthe image data which has not yet been transferred. If the CPU 1 hasjudged that the size of the image data is smaller than the size of thevacant area, the CPU permits the transfer of the image data to theprinter 2500, whereas, when the CPU 1 has judged that the size of theimage data exceeds the size of the vacant area, the CPU 1 performsreversible or irreversible compression of the image data so as to reducethe total size of the image data to a value below the size of the vacantarea. The image data of the reduced size is then transferred to theprinter 2500 for printing.

[0154] According to the described technique, it is possible to quicklyconduct printing information including the image data formed at highspeed by the host computer 1500, by making an effective use of thehardware resource of the host computer 1500, while anticipatingoccurrence of so-called data overflow, i.e., failure of conversion ofone-page printing information into intermediate codes in the printer2500 due to restriction in the size of the memory resource of theprinter 2500, without burdening the printer 2500 with the heavy work ofdata processing.

[0155] A description will now be given as to the relationships betweenthe described embodiment and the features of the first to seventhembodiments, as well as the operations of these aspects of theinvention, with reference to FIG. 1.

[0156] The first aspect of the present invention pertains to a printingapparatus (printer 2500) communicable with an information processingapparatus (host computer 1500) through a predetermined communicationmedium (interface, infrared wireless interface, network, or the like),comprising: first conversion means for converting pagebasis printinginformation received from the information processing apparatus intopredetermined intermediate code information, the conversion beingexecuted on a predetermined band basis (the first conversion meanscorresponds to CPU 12 which performs the conversion by executing thecontrol program stored in the ROM 142 or the control program read ontothe RAM 13 from the external memory 20 or an external storage medium);first storage means for storing, in a first storage area (intermediatecode memory 501) of a memory resource (RAM 13), the intermediate codeinformation obtained through conversion performed by the firstconversion means (the first storage means corresponds to the CPU 12which conducts storage processing by executing the control programstored in the ROM 142 or the control program read onto the RAM 13 fromthe external memory 20 or the external storage medium); secondconversion means for converting the intermediate code information intoimage data on a predetermined band basis (the second storage meanscorresponds to the CPU 12 which conducts the conversion processing byexecuting the control program stored in the ROM 142 or the controlprogram read onto the RAM 13 from the external memory 20 or the externalstorage medium); second storage means for storing, in a second storagearea (first and second band memories 502, 503 of RAM 13) of the memoryresource, a plurality of bands of the image data obtained throughconversion performed by the second conversion means (the second storagemeans corresponds to the CPU 12 which conducts the storage processing byexecuting the control program stored in the ROM 142 or the controlprogram read onto the RAM 13 from the external memory 20 or the externalstorage medium); first judging means for judging whether or not theintermediate code information corresponding to one page has been storedin the first storage area (the first judging means corresponds to theCPU 12 which conducts the judging processing by executing the controlprogram stored in the ROM 142 or the control program read onto the RAM13 from the external memory 20 or an external storage medium); and firstmemory control means operative based on the result of judgment conductedby the first judging means so as to cause the second conversion means toconvert the intermediate code information stored in the first storagearea on the predetermined band basis into image and to develop the imagein the second storage area, thereby forming a vacant area in the firststorage area (the first memory control means corresponds to the CPU 12which conducts the control processing by executing the control programstored in the ROM 142 or the control program read onto the RAM 13 fromthe external memory 20 or an external storage medium). Thus, the CPU 12judges whether or not the one-page intermediate code information hasbeen stored in the intermediate code memory 501, and, in accordance withthe result of the judgment, performs image-development of theintermediate code information of predetermined number of bands stored inthe intermediate code memory 501, followed by the storage of theimage-developed data into the first band memory 502, thereby preservinga vacant area in the intermediate code memory 501. Therefore, even whenthe printing information received from the information processingapparatus is too large to be stored in the first storage area allocatedin the memory resource, the whole one-page printing information from theinformation processing apparatus can be received and stored in the formof intermediate code information by making an effective use of thesecond storage area.

[0157] In accordance with the second aspect of the present invention,the printing apparatus of the first aspect further comprises: secondmemory control means operative after the preservation of the vacant areaby the first memory control means and operative based on the result ofthe judgment performed by the first judging means, so as to cause thesecond conversion means to convert into image the intermediate codeinformation of a band which does not contain image data from among thebands of intermediate code information stored in the first storage area,and to develop the image into the second storage area (the second memorycontrol means corresponds to the CPU 12 which conducts the controlprocessing by executing the control program stored in the ROM 142 or thecontrol program read onto the RAM 13 from the external memory 20 or anexternal storage medium); compression means for compressing the outputinformation image-developed by the second memory control means into apredetermined volume, thereby generating compressed output information(The compression means corresponds to the CPU 12 which conducts thecontrol processing by executing the control program stored in the ROM142 or the control program read onto the RAM 13 from the external memory20 or an external storage medium); and third memory control means forcausing the first storage area to store the compressed outputinformation generated by the compression means (The third memory controlmeans corresponds to the CPU 12 which conducts the control processing byexecuting the control program stored in the ROM 142 or the controlprogram read onto the RAM 13 from the external memory 20 or an externalstorage medium). According to the second aspect of the invention, afterthe preservation of the vacant area by the CPU 12, the intermediate codeinformation of a band which does not contain image data from among thebands of intermediate code information stored in the intermediate codememory 501 is image developed into the first band memory 502. Then, theCPU 12 compresses the image-developed output information into apredetermined volume, thereby generating compressed output information,and causes the intermediate code memory 501 to store the compressedoutput information. In operation, the intermediate code information ofthe bands stored in the intermediate code memory 501 is image-developedthrough the first band memory 502 and again stored in the intermediatecode memory 501. If full one-page intermediate code information cannotbe stored in the intermediate code memory 501 despite such a technique,the CPU operates to compress the image-developed output information andstores the compressed image-developed output information in theintermediate code memory 501, so that full one-page printing informationcan safely be stored in the form of combination of predeterminedintermediate codes and image data.

[0158] The third aspect of the present invention pertains to aninformation processing apparatus (host computer 1500) communicable witha printing apparatus (printer 2500) through a predeterminedcommunication medium (interface, infrared wireless interface, network orthe like), comprising: transfer means for transferring to the printingapparatus (printer 2500) the page printing information except for imagedata in the page (the transfer means corresponds to the printercontroller 8 which transfers the printing information held on the RAM2); inquiry means for inquiring, after the data transfer performed bythe transfer means, about the size of vacancy in an intermediate codeinformation storage area preserved in a memory resource of the printingapparatus (The inquiry means corresponds to the CPU 1 which conducts theinquiry by executing the control program stored in the ROM 3 or thecontrol program loaded onto the RAM 2 from the external memory or theexternal storage medium); and transfer control means for comparing thesize of the image data with the size of the vacancy informed by theprinting apparatus in response to the inquiry made by the inquiry means,and for controlling the size of the image data to be transferred, basedon the result of the comparison (The transfer control means correspondsto the CPU 1 which conducts the transfer control by executing thecontrol program stored in the ROM 3 or the control program loaded ontothe RAM 2 from the external memory or the external storage medium).After the transfer to the printer 2500 of page printing informationexcept for image data in the page performed by the transfer means, theCPU 1 inquires about the size of vacancy in an intermediate codeinformation storage area preserved in the RAM 13 of the printer 2500.Then, the CPU 1 compares the size of the image data with the size of thevacancy informed by the printer 2500 in response to the inquiry, andcontrols the size of the image data to be transferred, based on theresult of the comparison. It is therefore possible to control the sizeof the image data to be transferred, in accordance with the size of thevacancy in the memory resource of the printer 2500, in advance of thetransfer.

[0159] In accordance with the fourth aspect of the present invention,the transfer control means, when judging that the size of the image dataexceeds the size of vacancy, compresses the image data so as to reduce,by reversible or irreversible compression, the size of the image data tobe transferred.

[0160] According to a fifth aspect of the present invention, there isprovided a printing apparatus (printer 2500) communicable with aninformation processing apparatus (host computer 1500) through apredetermined communication medium (interface, infrared wirelessinterface, network or the like), comprising: first conversion means forconverting page-basis printing information received from the informationprocessing apparatus into predetermined intermediate code information,the conversion being executed on a predetermined band basis (The firstconversion means corresponds to the CPU 12 which conducts the conversionprocessing by executing the control program stored in the program ROM142 or the control program read onto the RAM 13 from the external memory20 or an external storage medium); first storage means for storing, in afirst storage area of a memory resource, the intermediate codeinformation obtained through conversion performed by the firstconversion means (The first storage means corresponds to the CPU 12which conducts the storage processing by executing the control programstored in the program ROM 142 or the control program read onto the RAM13 from the external memory 20 or an external storage medium); secondconversion means for converting the intermediate code information intoimage data on a predetermined band basis (The second conversion meanscorresponds to the CPU 12 which conducts the conversion processing byexecuting the control program stored in the program ROM 142 or thecontrol program read onto the RAM 13 from the external memory 20 or anexternal storage medium); second storage means for storing, in a secondstorage area of the memory resource, a plurality of bands of the imagedata obtained through conversion performed by the second conversionmeans (The second storage means corresponds to the CPU 12 which conductsthe storage processing by executing the control program stored in theprogram ROM 142 or the control program read onto the RAM 13 from theexternal memory 20 or an external storage medium); and informing meansfor informing the information processing apparatus of the size ofvacancy formed in the first storage area after conversion performed bythe first conversion means, in response to an inquiry made by theinformation processing apparatus about the vacancy size (The informingmeans corresponds to the CPU 12 which conducts the informing processingby executing the control program stored in the program ROM 142 or thecontrol program read onto the RAM 13 from the external memory 20 or anexternal storage medium).

[0161] The CPU 12 informs the host computer 1500 of the size of vacancyformed in the intermediate code memory 501 in the RAM 13 after theconversion into the intermediate codes, in response to an inquiry madeby the host computer 1500 about the vacancy size. The host computer1500, therefore, can know the size of the vacancy in the intermediatecode memory 501 which stores the intermediate code informationcorresponding to the printing information other than image data.

[0162] According to the sixth aspect of the present invention, there isprovided a printing system comprising an information processingapparatus (host computer 1500) and a printing apparatus (printer 2500)communicable with each other through a predetermined communicationmedium (interface, infrared wireless interface, network or the like),wherein the printing apparatus (printer 2500) comprises: firstconversion means for converting page-basis printing information receivedfrom the information processing apparatus into predeterminedintermediate code information, the conversion being executed a onpredetermined band basis (The first conversion means corresponds to theCPU 12 which conducts the conversion processing by executing the controlprogram stored in the program ROM 142 or the control program read ontothe RAM 13 from the external memory 20 or an external storage medium);first storage means for storing, in a first storage area of a memoryresource, the intermediate code information obtained through conversionperformed by the first conversion means (The first storage meanscorresponds to the CPU 12 which conducts the storage processing byexecuting the control program stored in the program ROM 142 or thecontrol program read onto the RAM 13 from the external memory 20 or anexternal storage medium); second conversion means for converting theintermediate code information into image data on predetermined bandbasis (The second conversion means corresponds to the CPU 12 whichconducts the conversion processing by executing the control programstored in the program ROM 142 or the control program read onto the RAM13 from the external memory 20 or an external storage medium); secondstorage means for storing, in a second storage area of the memoryresource, a plurality of bands of the image data obtained throughconversion performed by the second conversion means (The second storagemeans corresponds to the CPU 12 which conducts the storage processing byexecuting the control program stored in the program ROM 142 or thecontrol program read onto the RAM 13 from the external memory 20 or anexternal storage medium); and informing means for informing theinformation processing apparatus of the size of vacancy formed in thefirst storage area after conversion performed by the first conversionmeans, in response to an inquiry made by the information processingapparatus about the vacancy size (The informing means corresponds to theCPU 12 which conducts the informing processing by executing the controlprogram stored in the program ROM 142 or the control program read ontothe RAM 13 from the external memory 20 or an external storage medium);and wherein the information processing apparatus (host computer 1500)comprises: transfer means for transferring to the printing apparatus(printer 2500) the page printing information except for image data inthe page (The transfer means corresponds to the printer controller 8which transfers the printing information held on the RAM 2); inquirymeans for inquiring, after the data transfer performed by the transfermeans, about the size of vacancy in an intermediate code informationstorage area preserved in the memory resource of the printing apparatus(The inquiry means corresponds to the CPU 1 which conducts the inquiryprocessing by executing the control program stored in the program ROM 3or the control program read onto the RAM 2 from the external memory orthe external storage medium); and transfer control means for comparingthe size of the image data with the size of the vacancy informed by theprinting apparatus in response to the inquiry made by the inquiry means,and for controlling the size of the image data to be transferred, basedon the result of the comparison (The transfer control means correspondsto the CPU 1 which conducts the informing processing by executing thecontrol program stored in the program ROM 3 or the control program readonto the RAM 2 from the external memory or an external storage medium).The CPU 12 informs the host computer 1500 of the size of vacancy formedin the intermediate code memory 501 of the RAM 13 after the conversioninto intermediate codes, in response to an inquiry made by the hostcomputer 1500 about the vacancy size, so that the CPU 1 can know thesize of the vacancy in the intermediate code memory 501 which stores theintermediate code information corresponding to the printing informationother than image data. Meanwhile, the CPU 1, when it is judged that thesize of the vacancy is exceeded by the size of the image data, operatesto adjust the size of the image data to be transferred. It is thereforepossible to store the image data without fail, even when the size of thevacant area formed in the memory resource of the printing apparatus islimited.

[0163] In accordance with the seventh aspect of the present invention,the CPU 1, when judging that the size of the image data exceeds the sizeof vacancy, compresses the image data reversibly or irreversibly so asto reduce the size of the image data to be transferred, so that theimage data transferred can be safely stored even when the size of thevacant area in the memory resource of the printer 2500 is limited.

[0164] A description will now be given of a series of steps of processin which the text data shown in FIG. 3 is converted into theintermediate codes shown in FIG. 4 and then printed, with specificreference to the flow chart of FIG. 5.

[0165]FIG. 5 is a flow chart illustrative of an embodiment of the dataprocessing method for use in a printing apparatus in accordance with thepresent invention. The process has steps (1) to (15) which correspond tocontrol programs read from the program ROM 142 and which are executed bythe CPU 12 of the controller 2000.

[0166] In Step (1), document data is inputted through the host computer1500 into an input buffer which is preserved on the ROM 13. In Step (2),a judgment is conducted as to whether or not the document data is an endcode which indicates the end of the document data. If the document datais the end code, the process skips to Step (13) which executes theprinting processing.

[0167] The printing processing in this embodiment is executed asfollows. When the printing information of the initial or first band hasbeen developed in the form of dot data and stored in the band memory, aprinting command is given to the printing section 17, and the dot datais delivered from the band memory in synchronization with horizontal andvertical synchronizing signals to the printing section 17, therebyprinting the data on a sheet of paper. If the dot data has not yet beendeveloped in the band memory, the intermediate codes are read from theportion of the intermediate code memory corresponding to the initialband, and are converted into dot data and developed in the band memory.Then, the developed dot data is subjected to printing in the same manneras that described above.

[0168] If the document data is judged as not being an end code in Step(2), the process proceeds to Step (3) in which the document data isanalyzed and converted into bands of intermediate codes as shown in FIG.4. Then, Step (4) is executed in which a judgment is conducted whetheror not any vacancy is left in the intermediate code memory 501 preservedin the RAM 13 shown in FIG. 1. When a vacancy exists in the intermediatecode memory 501, the process returns to Step (1) to permit entry of thenext data into the input buffer.

[0169] Conversely, when Step (4) has judged that there is no vacancy,the process proceeds to Step (5) which determines whether or not theintermediate codes corresponding to the initial band has been convertedinto dot data. If the intermediate codes have not yet been convertedinto dot data, the process skips to Step (14) in which theseintermediate codes are converted into dot data and developed in thefirst band memory 502. As a result of the dot-development, the area inwhich the intermediate codes corresponding to the initial band have beenprovides a vacancy. The process then returns to Step (1) to permitstorage of the intermediate codes of the next document data in thisvacant area, followed by execution of the Steps described above.

[0170] Thus, Step (4) is executed again. If Step (4) has again judgedthat there is a shortage in the storage area in the intermediate codememory 501, an answer YES is given to the inquiry made in Step (5),because in this case the intermediate codes of the initial band havealready been developed into dots in Step (14), so that the processproceeds to Step (6) which determines whether or not any band which doesnot contain dot data (image data). When there is a band which does notcontain image data, an operation is performed in Step (7) to search fora band having greatest size of intermediate code data among the bands.The intermediate codes of the band thus searched are converted into dotpattern and developed into the band memory 502.

[0171] The reason why the band having no image data is preferentiallyselected is as follows. In general, text data and graphics data arecapable of being compressed at high compression ratio even when thecompression is reversible, whereas image data cannot be compressed athigh compression ratio even when the compression is reversible. Thus, inorder that the image data is compressed at high compression ratio, thecompression must be conducted irreversibly. Such irreversiblecompression, however, impairs the quality of data when the compresseddata is expanded to the original size.

[0172] The process then skips to Step (8) in which the data developed inthe band memory 502 is reversibly compressed. Various known reversiblecompressing method such as run-length method can be used. The processthen skips to Step (9) which judges whether or not the size of thecompressed data is 64 KB or smaller.

[0173] The data size of 64 KB is ¼ the storage area size (256 KB) ofeach of the first and second band memories. Thus, the judgment performedin Step (9) is to confirm whether or not the data size has been reducedto ¼ the storage capacity of each band memory as a result of thecompression. This judgment is conducted for the following reasons.

[0174] As stated before, the size of the dot pattern for one page is 4MB when the printer performs printing at 600 dpt.

[0175] Meanwhile, the capacity or area size of the intermediate codememory 501 is 1 MB. Therefore, is the dot pattern of each band iscompressed to ¼, it is possible to store image data of one full page inthe intermediate code memory 501. Therefore, the data size of 64 KB,which is ¼ the size of the band memory is used as a criterion. Ingeneral, character patterns and graphics patterns are very oftencompressible without impairing quality, because such patterns in mostcases consist of continuous black or white portions. In contrast, imagedata such as dither pattern or those produced by error diffusiontechnique can hardly be compressed reversibly.

[0176] If the judgment in Step (9) has judged that the data size hasbeen reduced to ¼ or smaller as a result of the compression, the processproceeds to Step (12) in which the compressed data is returned to theintermediate code memory 501 which now has a vacancy.

[0177] However, if the data size has not been reduced to ¼ or smaller,an answer NO is given to the inquiry made in Step (9), and the processproceeds to Step (10) which conducts expansion of the compressed data,followed by Step (11) which executes irreversible compression. Theirreversible compression is conducted by thinning every other dots fromthe dot data both in X and Y directions, so as to forcibly reduce thedata size to ¼. The original size of the dot data can be recovered byexpanding the compressed data with multiplication factor of 2 both inthe X and Y directions. In this case, however, the image quality isobviously worsened.

[0178] When the compressed dot pattern is returned to the intermediatecode memory in Step (12), a flag is given to the compressed dataindicating that the data has been compressed, as well as a flagindicative of the type of compression, i.e., reversible or irreversible.The process then returns to Step (1) for the entry of the next portionof the document data.

[0179] A description will now be given as to the detail of thecompression of the intermediate codes, with specific reference to FIG. 6which shows the process of compression of intermediate codes shown inFIG. 4. In FIG. 6, the same reference numerals are used to denote thesame elements as those appearing in FIG. 11.

[0180] Referring to FIG. 6, the data size of the portion of theintermediate code memory 501 corresponding to a band “n” is thegreatest. The intermediate codes in this portion, therefore, arecompressed and developed in the second band memory 503. The developeddot data is then compressed and, with the aforesaid flags attachedthereto, returned to the intermediate code memory 501.

[0181] Referring again to Step (6), when it has been determined thatthere is no band devoid of dot data in the intermediate code, a band isselected which has intermediate codes in excess of 64 KB and which hasthe greatest size of intermediate codes among the bands. Then, Step (15)is executed in which the intermediate codes of the band thus selectedare dot-developed into the second band memory 503. Then, Steps (8)onwards are executed.

[0182] This is because, when the data size per band is 64 KB or smaller,the intermediate code memory 501 having the capacity of 1 MB can storethe dot data of one full page, because the one-page data can be dividedinto 16 bands.

[0183] Then, Steps are executed in the same manner as that describedbefore in regard to the case where the intermediate codes do not containimage data.

[0184] When the one-page data has been developed in the intermediatecode memory 501, an answer YES is given to the inquiry made in Step (2),so that the process proceeds to Step (13) in which the CPU 12 convertsthe intermediate codes of the initial band in the intermediate codememory 501 into dot pattern, and develops and stores the dot pattern inthe first band memory 501. After the completion of the development, theCPU gives a printing command to the printing section 17, while sendingthe dot pattern in the first band memory to the printing section 17,through the printing interface I/F 16.

[0185] In the meantime, while the dot pattern is being sent to theprinting section 17 from the first band memory 502, the CPU 12 reads thedata of the next band in the intermediate code memory 501. If the readdata has been compressed, the CPU 12 causes the data to be expanded intoa dot pattern, and develops this dot pattern in the second band memory503.

[0186] When the delivery of the dot pattern from the first band memory502 to the printing section 17 is finished, the CPU 12 switches the bandmemory: namely, starts delivery of the dot pattern to the printingsection 17 from the second band memory 503 in which the dot pattern ofthe next band has been stored. In the meantime, the dot pattern of thesubsequent band is developed in the first band memory 502. Printing ofone page is finished by repetition of this series of steps.

[0187] A description will now be given of the relationships between thedescribed embodiment and the features of the eighth, ninth, twelfth andthirteenth aspects of the invention, as well as the operation of theseaspects of the invention.

[0188] The eighth aspect of the present invention pertains to a dataprocessing method for use in a printing apparatus communicable with aninformation processing apparatus through a predetermined communicationmedium (interface, infrared wireless interface, network or the like),the method comprising: a first converting step (Step (3) of the flowshown in FIG. 5) for converting page-basis printing information receivedfrom the information processing apparatus into predeterminedintermediate code information, the conversion being executed on apredetermined band basis; a first storing step (Step (3) of the flowshown in FIG. 5) for storing, in a first storage area preserved in amemory resource, the intermediate code information obtained through theconversion; a second converting step (Step (13) of the flow shown inFIG. 5) for converting the intermediate code information stored in thefirst storage area into image data on a predetermined band basis; asecond storing step (Step (13) of the flow shown in FIG. 5) for storing,in a second storage area preserved in the memory resource, a pluralityof bands of the image data obtained through the conversion performed inthe second converting step; a first judging step (Step (4) of the flowshown in FIG. 5) for judging whether or not the intermediate codeinformation corresponding to one page has been stored in the firststorage area; and a third storing step (Step (14) of the flow shown inFIG. 5) conducted based on the result of judgment conducted by the firstjudging means, so as to cause the intermediate code information storedon the predetermined band basis in the first storage area to bedeveloped into image in the second storage area, thereby preservingvacant area in the first storage area, and to store subsequentintermediate code data into the vacant area. Thus, even when the size ofthe one-page printing information received from the informationprocessing apparatus is so large that the printing information cannot bestored in the first storage area, the printing information can safely bereceived and stored in the printing apparatus, by the effective use ofthe second storage area.

[0189] In accordance with the ninth aspect of the present invention, thedata processing method of the eighth aspect further comprises: a secondjudging step (Step (4) of the flow shown in FIG. 5) conducted afterstorage of the subsequent intermediate code information in the vacantarea, so as to judge whether or not the intermediate code informationcorresponding to one page has been stored in the first storage area; afourth storing step (Step (7) of the flow shown in FIG. 5) conductedbased on the result of the judgment performed in the second judgingstep, so as to develop into image the intermediate code information of aband which does not contain image data from among the bands ofintermediate code information stored in the first storage area, and tostore the developed image in the second storage area; a compressing step(Steps (8) to (11) of the flow shown in FIG. 5)for compressing theimage-developed output information into a predetermined volume, therebygenerating compressed output information; and a fifth storing step (Step(12) of the flow shown in FIG. 5) for storing the compressed outputinformation in the first storage area. In operation, the intermediatecode information of the bands stored in the first storage area isimage-developed through the second storage area and again stored in thefirst storage area. If full one-page intermediate code informationcannot be stored in the first storage area despite such a technique, thecompression means operates to compress the image-developed outputinformation, so that full one-page printing information can safely bestored in the form of combination of predetermined intermediate codesand image data.

[0190] The twelfth aspect of the present invention pertains to a storagemedium storing a computer-readable program which comprises: a firstconverting step (Step (3) of the flow shown in FIG. 5) for convertingpage-basis printing information received from an information processingapparatus into predetermined intermediate code information, theconversion being executed on a predetermined band basis; a first storingstep (Step (3) of the flow shown in FIG. 5) for storing, in a firststorage area preserved in a memory resource, the intermediate codeinformation obtained through the conversion; a second converting stepfor converting the intermediate code information stored in the firststorage area into image data on a predetermined band basis; a secondstoring step (Step (13) of the flow shown in FIG. 5) for storing, in asecond storage area preserved in the memory resource, a plurality ofbands of the image data obtained through the conversion performed in thesecond converting step; a first judging step (Step (4) of the flow shownin FIG. 5) for judging whether or not the intermediate code informationcorresponding to one page has been stored in the first storage area; anda third storing step (Step (3) of the flow shown in FIG. 5) conductedbased on the result of judgment conducted by the first judging means, soas to cause the intermediate code information stored on thepredetermined band basis in the first storage area to be developed intoimage in the second storage area, thereby preserving vacant area in thefirst storage area, and to store subsequent intermediate code data intothe vacant area. Thus, the invention also includes a form in whichprogram codes corresponding to the steps of the flow shown in FIG. 5 arestored in a later-mentioned external storage medium or the internalmemory resource, and are read and executed by the CPU 12.

[0191] The thirteenth aspect of the present invention pertains to astorage medium storing a computer-readable program, wherein thecomputer-readable program further comprises: a second judging step (Step(4) of the flow shown in FIG. 5) conducted after storage of thesubsequent intermediate code information in the vacant area, so as tojudge whether or not the intermediate code information corresponding toone page has been stored in the first storage area; a fourth storingstep (Step (7) of the flow shown in FIG. 5) conducted based on theresult of the judgment performed in the second judging step, so as todevelop into image the intermediate code information of a band whichdoes not contain image data from among the bands of intermediate codeinformation stored in the first storage area, and to store the developedimage in the second storage area; a compressing step (Steps (8) to (11)of the flow shown in FIG. 5) for compressing the image-developed outputinformation into a predetermined volume, thereby generating compressedoutput information; and a fifth storing step (Step (12) of the flowshown in FIG. 5) for storing the compressed output information in thefirst storage area. Thus, the invention also includes another form inwhich program codes corresponding to the steps of the flow shown in FIG.5 are stored in a later-mentioned external storage medium or theinternal memory resource, and are read and executed by the CPU 12.

[0192] As will be seen from the foregoing description, according to thefirst embodiment of the present invention, it is possible to obtain aprinter of an extremely high cost performance, which can performprinting irrespective of the type of the inputted data and whichrequires a memory capacity of about 2 MB (see FIG. 11A) much smallerthan that (about 4.5 MB, see FIG. 11B) required in the case where aone-page bit map memory is used.

[0193] [Second Embodiment]

[0194] A description will now be given of a second embodiment of thepresent invention.

[0195]FIG. 7 is a flow chart illustrative of an embodiment of the dataprocessing method for use in a printing apparatus in accordance with thepresent invention. This process corresponds to the data processingperformed by the host computer 1500 shown in FIG. 1. This process hassteps (1) to (9).

[0196]FIGS. 8 and 9 also are flow charts illustrative of further stepsof the data processing method for use in the printing apparatus inaccordance with the present invention. These flows correspond to dataprocessings performed by the printer 2500 shown in FIG. 1, and havesteps (11) to (25).

[0197] Referring to these Figures, in Step (1), the CPU 1 of the hostcomputer sends to the printer 2500 the data other than image data, amongthe document data to be transferred. In Step (2), upon receipt of thedata, the CPU 12 of the printer 2500 shifts the data into an inputbuffer. In Step (12), a judgment is conducted as to whether or not thedocument data is an end code which indicates the end of the documentdata. If the document data is the end code, i.e., if the input of thewhole one-page data has been completed, the process skips to Step (25)which executes the same printing processing as that described before.

[0198] The printing processing in this embodiment is executed asfollows. When the printing information of the initial or first band hasbeen developed in the form of dot data and stored in the band memory, aprinting command is given to the printing section 17, and the dot datais delivered from the band memory in synchronization with horizontal andvertical synchronizing signals to the printing section 17, therebyprinting the data on a sheet of paper. If the dot data has not yet beendeveloped in the band memory, the intermediate codes are read from theportion of the intermediate code memory corresponding to the initialband, and are converted into dot data and developed in the band memory.Then, the developed dot data is subjected to printing in the same manneras that described above.

[0199] If the document data is judged as not being an end code in Step(12), the process proceeds to Step (13) which examines whether or notthe received data is an inquiry command inquiring about the size of thevacancy in the intermediate code memory 501. If the received data is theinquiry command, Step (23) is performed in which the host computer 1500is informed of the size of the vacant space in the intermediate codememory 501 through the data communication line 21. The process thenreturns to Step (11). Conversely, if Step (13) has judged that thereceived data is not an inquiry command, the process proceeds to Step(14) which determines whether or not the received data is a clearcommand for clearing the intermediate code memory 501. If it is judgedthat the data is a clear command, the process skips to Step (24) inwhich the CPU 12 clears the intermediate code memory 501 preserved onthe RAM 13. The process then returns to Step (11).

[0200] If the judgment in Step (14) has proved that the data is adocument data, steps are executed in the same way as that in the firstembodiment: namely, the data is converted into intermediate codes onband basis in Step (15), and a judgment is made in Step (16) as towhether a vacant space is available in the intermediate code memory 501.If it is judged that there is no vacant area, development into bandmemory is conducted in Step (17) starting from the band having thegreatest size of the intermediate code, and the data developed in theband memory 502 is reversibly compressed in Step (18). Various knownreversible compressing method such as run-length method can be used. Theprocess then skips to Step (9) which judges whether or not the size ofthe compressed data is 64 KB or smaller.

[0201] The data size of 64 KB is ¼ the storage area size (256 KB) ofeach of the first and second band memories. Thus, the judgment performedin Step (9) is to confirm whether or not the data size has been reducedto ¼ the storage capacity of each band memory as a result of thecompression. This judgment is conducted for the following reasons.

[0202] As stated before, the size of the dot pattern for one page is 4MB when the printer performs printing at 600 dpt.

[0203] Meanwhile, the capacity or area size of the intermediate codememory 501 is 1 MB. Therefore, is the dot pattern of each band iscompressed to ¼, it is possible to store image data of one full page inthe intermediate code memory 501. Therefore, the data size of 64 KB,which is ¼ the size of the band memory is used as a criterion. Ingeneral, character patterns and graphics patterns are very oftencompressible without impairing quality, because such patterns in mostcases consist of continuous black or white portions. In contrast, imagedata such as dither pattern or those produced by error diffusiontechnique can hardly be compressed reversibly.

[0204] If the judgment in Step (19) has judged that the data size hasbeen reduced to ¼ or smaller as a result of the compression, the processproceeds to Step (22) in which the compressed data is returned to theintermediate code memory 501 which now has a vacancy.

[0205] However, if the data size has not been reduced to ¼ or smaller,an answer NO is given to the inquiry made in Step (19), and the processproceeds to Step (20) which conducts expansion of the compressed data,followed by Step (21) which executes irreversible compression. Theirreversible compression is conducted by thinning every other dots fromthe dot data both in X and Y directions, so as to forcibly reduce thedata size to ¼. The original size of the dot data can be recovered byexpanding the compressed data with multiplication factor of 2 both inthe X and Y directions. In this case, however, the image quality isobviously worsened.

[0206] When the compressed dot pattern is returned to the intermediatecode memory in Step (22), a flag is given to the compressed dataindicating that the data has been compressed, as well as a flagindicative of the type of compression, i.e., reversible or irreversible.The process then returns to Step (11) for the entry of the next portionof the document data.

[0207] After completion of the transfer of the data other than the imagedata in Step (2), the process advances to Step (3) in which the hostcomputer 1500 inquires the printer 2500 about the size of the vacantarea left in the intermediate code memory. Then, in Step (4), a judgmentis conducted as to whether or not the size “n” of the vacant areaexceeds the size “m” of the image data which is not to be transferred.If the area size “n” is greater than the image data size “m”, the imagedata is transferred to the printer 2500 without any specific processing,thus completing the process.

[0208] However, if the size “n” is judged as being smaller than the sizeof the image data “m” which is now to be transferred, the processproceeds to Step (5) which examines whether or not the area size “n” isgreater than ¼ of the image data size “m”. If the answer is YES, Step(9) is executed in which a compression processing is performed in thehost computer 1500, so as to reversibly or irreversibly compress theimage data into, for example, ¼ the original size, and the compressedimage data is sent to the printer 2500 with a compression flag setthereon, thus completing the process. If the image data which has notbeen compressed is transferred to the printer 2500, the printer 2500will necessarily be burdened with the series of operations includingdevelopment of intermediate codes in the intermediate code memory 501into dot pattern, compression and returning to the intermediate codememory. Consequently, a considerably long processing time is requiredfor the preparatory processing performed by the printer. In thisembodiment, such burdening of the printer 2500 can be avoided becausethe image data is compressed by the host computer 1500 beforetransferred to the printer 2500: namely, the burden is undertaken by thehost computer 1500.

[0209] Conversely, if the result of the judgment in Step (5) is suchthat the area size “n” is smaller than “(¼)m”, the above-mentionedseries of operations, including development of intermediate codes in theintermediate code memory 501 into dot pattern, compression and returningto the intermediate code memory, have to be conducted by the printer2500, even if the image data is compressed before the transfer from thehost computer 1500. Consequently, a long processing time willnecessarily be required. In such a case, therefore, the process proceedsto Step (6) in which an intermediate code memory clear command is sentto the printer 2500 so as to clear the content of this memory. Then, theone-page data inclusive of both the image data and other data isdeveloped into a one-page bit map memory, and the developed one-pagedata is compressed reversibly or irreversibly into ¼ size. Thecompressed data is then transferred as image data, together with thecompression flag, to the printer 2500, whereby the process is completed.

[0210] Thus, according to the second embodiment, the total processingtime of the printing can be shortened, because the host computeroperates to undertake part of the processing, anticipating overflow ofthe intermediate code memory of the printer 2500.

[0211] A description will now be given as to the relationships betweenthe features of the tenth, eleventh, fourteenth and fifteenth aspects ofthe invention and the features of the described embodiment, as well asthe operations of these aspects, with reference to FIGS. 7 and 8.

[0212] The tenth aspect of the present invention pertains to a dataprocessing method for use in a printing system comprising an informationprocessing apparatus and a printing apparatus communicable with eachother through a predetermined communication medium (interface, infraredwireless interface, network or the like), the method comprising: a firsttransferring step (Step (1) of the flow shown in FIG. 7) fortransferring first printing information formed by removing image datafrom one-page printing information to be transferred; a first convertingstep (Step (15) of the flow shown in FIG. 8) for converting, on apredetermined band basis, the first printing information received fromthe information processing apparatus into a predetermined intermediatecode information; a first storing step (Step (15) of the flow shown inFIG. 8) for storing the intermediate code information obtained throughthe conversion in a first storage area preserved in a memory resource;and an informing step (Step (23) of the flow shown in FIG. 8) forinforming, after the storage of the intermediate code information in thefirst storage area, the information processing apparatus of the size ofvacancy in the first storage area, in response to an inquiry given bythe information processing apparatus. Thus, the information processingapparatus can know the size of the vacant area in the first storage areawhich stores the intermediate code information of the printinginformation except for the image data.

[0213] In accordance with the eleventh aspect of the present invention,the data processing method further comprises: judging step (Steps (3) to(5) of the flow shown in FIG. 7) for comparing the size of the imagedata to be transmitted with the size of vacancy informed by the printingapparatus; reducing step (Steps (7) and (9) of the flow shown in FIG. 7)for reducing the size of the image data to be transferred based on theresult of the judgment; and a second transferring step (Steps (7) to (9)of the flow shown in FIG. 7) for transferring the reduced image data tothe printing apparatus. It is therefore possible to store the image dataeven in the limited area in the memory resource of the printingapparatus.

[0214] According to the fourteenth aspect of the present invention,there is provided a storage medium storing a computer-readable program,the computer-readable program comprising: a first transferring step(Step (1) of the flow shown in FIG. 7) for transferring first printinginformation formed by removing image data from one-page printinginformation to be transferred; a first converting step (Step (15) of theflow shown in FIG. 8) for converting, on a predetermined band basis, thefirst printing information received from the information processingapparatus into a predetermined intermediate code information; a firststoring step (Step (15) of the flow shown in FIG. 8) for storing theintermediate code information obtained through the conversion in a firststorage area preserved in a memory resource; and an informing step (Step(23) of the flow shown in FIG. 8) for informing, after the storage ofthe intermediate code information in the first storage area, theinformation processing apparatus of the size of vacancy in the firststorage area, in response to an inquiry given by the informationprocessing apparatus. Thus, the program codes corresponding to the flowsshown in FIGS. 7 and 8 are stored in a later-mentioned external storagemedium or in the internal memory resource, and are read and executed bythe CPU 12. Such a way of implementation also is within the scope of thepresent invention.

[0215] The fifteenth aspect of the present invention pertains to astorage medium storing a computer-readable program, wherein thecomputer-readable program further comprises: judging step (Steps (3) to(5) of the flow shown in FIG. 7) for comparing the size of the imagedata to be transmitted with the size of vacancy informed by the printingapparatus; a reducing step (Steps (7) and (9) of the flow shown in FIG.7) for reducing the size of the image data to be transferred based onthe result of the judgment; and a second transferring step (Steps (7) to(9) of the flow shown in FIG. 7) for transferring the reduced image datato the printing apparatus. Thus, the program codes corresponding to theflows shown in FIG. 7 are stored in a later-mentioned external storagemedium or in the internal memory resource, and are read and executed bythe CPU 12. Such a way of implementation also is within the scope of thepresent invention.

[0216] [Third Embodiment]

[0217] In the first embodiment, in the event of an overflow of theintermediate code memory, the development of the intermediate codes intothe band memory is conducted on the band which has the greatest size ofintermediate code data, as described in connection with Step (7) of theflow shown in FIG. 5. In general, graphics data and character data canbe compressed at high compression ratio. The first embodiment,therefore, may be carried out such that the development into the bandmemory is conducted preferentially on the intermediate codes of a bandwhich has the greatest size of intermediate code data and which isdevoid of image data.

[0218] [Fourth Embodiment]

[0219] In the first and second embodiments, the image data is reversiblycompressed on band basis. This technique has a risk that noticeablediscontinuities may appear at the boundaries between adjacent bands. Incase of the image data, therefore, the control may be effected such thatthe reversible compression is effected at once on all the bandscontaining the image data, and the thus compressed image data istransferred on band basis.

[0220] [Fifth Embodiment]

[0221] In the embodiments described hereinbefore, when the intermediatecode memory 501 has become full, the operation including the developmentinto dot image and compression of the developed dot data is executed insuch an order that the operation is commenced first on the band havinggreatest size of the intermediate code data. This is not exclusive andthe method may be conducted such that, during the preparation ofintermediate codes of the successive bands, the intermediate codes arechanged into compressed dot data whenever the size of the intermediatecode data of a band has exceeded a predetermined size.

[0222] A description will now be given of the structure of thecomputer-readable data processing program for use in the printing systemof the present invention, with specific reference to a memory map shownin FIG. 10.

[0223]FIG. 10 shows a memory map formed in a storage medium which storesthe computer-readable data processing program for use in the printingsystem of the present invention.

[0224] Although not specifically shown in this Figure, the storagemedium may store also information for administrating programs in themedium, such as the version information, writer information, and soforth, as well as information which depends on the OS of the programreader, e.g., a computer, such as icons for identifying and displayingprograms.

[0225] Data subordinate to the programs also are administrated by thedirectory. The storage medium also may store programs for installingvarious programs on the computer, decompressing program fordecompressing any compressed program to be installed, and so forth.

[0226] The functions shown in FIGS. 5, 9, 7 and 8 used in the describedembodiments may be executed by the host computer in accordance withprograms which are installed externally. The present invention isapplicable also to a case where a group of information includingprograms are supplied to the output apparatus from a storage medium suchas a CD-ROM, flash memory, FD or the like, or from an external storagemedium through a network.

[0227] The storage medium storing the software program codesimplementing the functions of the described embodiments is supplied tothe system, so that the computer (or CPU or MPU) of the system orapparatus reads and executes these program codes, whereby the objects ofthe present invention are achieved.

[0228] In such a case, the program codes read from the storage mediumimplement the novel functions of the present invention,so that thestorage medium storing such program codes constitutes one form of thepresent invention.

[0229] The storage medium for supplying the program codes may be, forexample, a floppy disk, a hard disk, an optical disk, a magneto-opticaldisk, a CD-ROM, CD-R, magnetic tape, non-volatile memory card, ROM,EEPROM, or the like.

[0230] The storage medium in accordance with the invention enables thecomputer to read and execute the program codes stored therein, so as toimplement the functions of the described embodiments. The storagemedium, however, also may be such that an OS (operating system) workingon the computer conducts part or whole of the processings, in accordancewith the instructions given by the program codes stored in the medium,thereby implementing the functions of the described embodiments.

[0231] Obviously, the arrangement may be such that the program codesread from the storage medium are written in a function expansion boardloaded on the computer or a memory in a function expansion unitconnected to the computer, so that a CPU of the function expansion boardor unit conducts part or whole of the processings, in accordance withthe instructions given by the written program codes, therebyimplementing the functions of the described embodiments.

[0232] The invention may be applied to a system composed of a pluralityof devices or apparatuses, or to a stand-alone apparatus. It will beclear that the invention can also be accomplished by supplying such asystem or apparatus with the programs described hereinbefore. In such acase, the storage medium storing the software programs for accomplishingthe invention is loaded in and read by the system or the apparatus, sothat the system or the apparatus can enjoy the advantages of the presentinvention.

[0233] Furthermore, the invention may be carried out such that a programrepresented by a software for accomplishing the present invention isdown-loaded from a data base on the network by the operation of acommunication program, so that a system or apparatus on which theprogram has been down-loaded can enjoy the advantages of the presentinvention.

[0234] [Sixth Embodiment]

[0235] A description will now be given of the printing system of thisembodiment, with reference to FIGS. 12 and 13. In these Figures, thesame reference numerals are used to denote the same components as thoseemployed in the first embodiment described before.

[0236]FIG. 12 is a block diagram showing the structure of the printingsystem of the sixth embodiment of the present invention. The printingsystem is basically composed of a host computer 1500 and a printer 2500.

[0237] The host computer 1500 has a control section 1000 which includesa CPU 1 capable of executing, in accordance with document processingprograms stored in a program ROM of the ROM 3, various processings ofdocument which contain patterns, images, characters and tables,inclusive of table calculations. The CPU 1 performs overall control ofvarious devices connected to a system BUS 4, in accordance with programswhich are stored in the program ROM of the ROM 3, external memory 11 orother external storage medium and which implement the processes shown inthe flow charts of FIGS. 20, 21 and so on. Numeral 2 designates a RAMwhich provides a main memory and work areas for the CPU 1.

[0238] The ROM 3 also has a font ROM which stores font data used in thedocument processing, and a data ROM which stores various data such asdirectory information, printer driver table, and so forth. Numeral 5designates a keyboard controller (KBC) which controls entry ofinformation from a keyboard (KB) 9 and a pointing device which is notshown. Numeral 6 designates a CRT controller (CRTC) which controls thedisplay on a CRT display (CRT) 10. A memory controller (MC) 7 controlsaccess to the external memory 11 such as a hard disk, floppy disk, orthe like.

[0239] Numeral 8 designates a printer controller (PRTC) which performscommunication processing for communication with the printer 2500 througha bidirectional interface 21. The CPU 1 is capable of executingdevelopment of outline fonts (rasterization) onto a display informationROM provided on, for example, the RAM 2, so as to enable WYSIWIG on theCRT 10. The CPU 1 also can open various registered windows in accordancewith commands given by, for example, mouse cursor, thereby executingvarious data processings.

[0240] The printer 2500 has a printer controller 2000 which correspondsto the printing apparatus of this embodiment. Numeral 12 designates aprinter CPU which performs overall control of devices connected to asystem BUS 20, in accordance with processing programs which are storedin the program ROM of ROM 14 or other storage medium and whichimplements processes shown in flow charts of FIGS. 22 to 25 which willbe mentioned later. The printer CPU 16 also serves to output imagesignals as output information to the printing section (printer engine)17 which is connected thereto through a printing interface (I/F) 16. Theprinter interface 16 is a controller which converts document dataentered from the host computer 1500 through the input section 15 intodot images of a form which is printable by the printing section 17.

[0241] Numeral 13 denotes a RAM which provides a main memory and workareas for the CPU 12. The arrangement is such that the capacity of thisRAM can be increased by means of an option RAM which is connected to anexpansion port not shown. The RAM 13 has an output informationdevelopment area, environmental data storage area, NVRAM, and so on.Numeral 14 designates a ROM which includes a font ROM storing font dataand other data which are used in generating the above-mentioned outputinformation, and a data ROM which, when the printer is devoid of anexternal memory such as a hard disk, stores information which are usedon the host computer 1000.

[0242] Numeral 15 designates an input section. The CPU 12 iscommunicable with the host computer 1500 through the interface 21, sothat the host computer 1500 can be informed of the information availablein the printer 2500. Numeral 18 designates an operating section(operation panel) having switches for various operations, as well as LEDindicators and so forth. An external memory which is not shown isconnectable so as to store font data, emulation program, form data andso on. Numeral 19 denotes a compressor/expander which performsreversible compression and expansion of dot image data on the RAM 13.

[0243] The arrangement may be such that a plurality of the aforesaidmemories are connected. It is also possible to provide an NVRAM which isnot shown,for the purpose of storage of printer mode setting informationgiven through the operation panel 18. In this embodiment, the functionsshown in FIGS. 15 to 19 may be executed by the CPU 1 of the hostcomputer 1500 or the CPU 12 of the printer 2500, in accordance withexternally installed programs.

[0244] In such a case, the invention may be carried out such that thesystem including the host computer and the printer is loaded with agroup of information including programs, derived from a storage mediumwhich is not shown, e.g., CD-ROM, flash memory, FD or the like, or froman external storage medium via a network, so that such group ofinformation is supplied to the host computer or the printer.

[0245]FIG. 13 schematically shows the construction of the printingsystem shown in FIG. 12. Hence, the same reference numerals are used todenote the same portions or components as those shown in FIG. 12.

[0246] The host computer 1500 has a pointing device 3000 which isconnected to a keyboard 9 so as to perform pointing on the display ofthe CRT 10 by means of a mouse cursor or the like. The printer 2500,e.g., a laser beam printer (LBP), has a laser driver 1502 which is acircuit for driving a semiconductor laser 1503, so as to turn on and offthe emission of laser light 1504 from the semiconductor laser 1503 inaccordance with video signal from the printer controller 2000.

[0247] Numeral 1505 denotes a rotary polygon mirror which deflects thelaser light 1504 to the left and right, thereby effecting scanningexposure of the surface of an electrostatic drum 1506. As a result, anelectrostatic latent image of, for example, character pattern is formedon the electrostatic drum 1506. A developing device 1510 is disposed onthe periphery of the electrostatic drum 1506 so as to develop theelectrostatic latent image formed on the electrostatic drum 1506 by thelaser light 1504 into visible image by means of a toner. The developedimage is then transferred to a recording paper which has been fed intothe printer by means of a feeder roller 1511.

[0248] Numeral 1508 designates a transfer roller which fixes the tonerimage transferred to the recording paper by application of heat. Acartridge 1507 contains the electrostatic drum 1506 and the developingdevice 1510. The LBP 2500 has at least one card slot which permitsconnection of an option card and a control card of a different languagesystem (emulation card) which provide fonts in addition to internallystored fonts.

[0249]FIG. 14 schematically show the structure of one-page print dataincluding text data, graphics data and image data, stored in the RAM 2of the host computer 1500 or in the external memory 11 which are shownin FIG. 12.

[0250] Referring to this Figure, numerals 1001 to 1008, 1015 and 1016denote bands which will be described later, Lines which form bordersbetween adjacent bands do not appear as lines in the document. Numeral1020 denotes text data which in this case is a character “A”. Thecharacter “A” is extending over bands 1001 to 1003. Numeral 1203indicates text data which is a row of characters “USA”. Numeral 1021indicates graphics data, e.g., hatching lines, extending over the bands1001 to 1004. Numeral 1022 designates image data which in this case is apicture of a mountain, extending over the bands 1005 to 1008.

[0251]FIG. 15 is a schematic illustration of a memory map in the RAM 13of the printer 2500 shown in FIG. 12.

[0252] Referring to this Figure, numeral 901 designates a display listmemory which is an area for storing a later-mentioned display list. Amemory size of, for example, 256 KB is allocated to this area. Numeral902 designates an image data memory which is an area for storing imagedata. A memory size of, for example, 1 MB is allocated to this area.Numerals 903 and 904 designate banding buffer memories which are areasfor storing developed dot data. A memory size of, for example, 256 KB isallocated to each of these areas.

[0253] Referring to the image data memory 902, numeral 1203 designates aflag which will be detailed later and which indicates the contents ofthe image data. Numeral 1204 designates coordinates of the image data.Thus, the flag 1203, coordinates information 1204, image data compressedby the compression/expansion device 19 and the trailing data definitionflag attached to the end of the image data are stored in the mentionedorder in the image data memory 902.

[0254] In the illustrated embodiment, the printing resolution of theprinter of the printing section 17 is assumed to be, for example,600×600 dpi. When printing is performed on an A-4 size sheet at thisresolution, the total size of the full image data for one page of thissheet size is about 4 MB. In contrast, the RAM 13 has a small capacityof 2 MB, as described before.

[0255] Thus, in this embodiment, the memory has an area size or thecapacity (2 MB) which is smaller than that (about 4 MB) required forstoring one-page data. Therefore, this embodiment employs a pair ofbanding buffers, i.e., banding buffer memories 903 and 904, each havinga size which is {fraction (1/16)} the size of the one-page data. Theexpansion into dot data to be sent to the printing section 17 isconducted in the size which corresponds to the capacity of each of thebanding buffer memories 903, 904. Thus, a double-buffer structure isformed in which two banding buffer memories are used alternately suchthat, while dot data developed in one of the banding buffer memories isbeing read and sent to the printing section 17, data of the next band isdeveloped in the other of the banding buffer memories. This operation isrepeated to conduct processings for printing one-page data.

[0256] In order that this method can be carried out, it is necessarythat the data of different bands are independent from one another.However, a document data usually contains text data 1020 and graphicsdata 1021 which extend over a plurality of bands.

[0257] A description will now be given of a display list which is formedby converting the print data shown in FIG. 14 on band basis.

[0258]FIGS. 16A and 16B show details of the print data shown in FIG. 14.More specifically, FIG. 16A shows the input data inputted from the hostcomputer 1500, while FIG. 16B shows the display list which is formed asa result of conversion of the input data of FIG. 16A into a plurality ofband data.

[0259] Referring to FIG. 16A, numeral 5001 denotes a command fordesignating the pointer coordinates (X, Y), while 5002 denotes a commandfor designating the character code of the text data “A” 1020 (shown inFIG. 14). Numeral 5003 denotes a command for designating attributes(font size and type) of the character of the text data “A” 1020.

[0260] Numeral 5004 designates a command for scribing a straight lineand corresponds to the scribing command of the graphics data 1021 (shownin FIG. 14). Numeral 5005 denotes a command for designating attributes(thickness, type) of the straight line, i.e., the attributes (thickness,type) of the graphics data 1021. Numeral 5006 is a command fordesignating coordinates of the start point of the straight line in theband, i.e., the coordinates of the point at which the graphics data 1021starts. Numeral 5007 is a command for designating coordinates of the endpoint of the straight line, i.e., the coordinates of the point at whichthe graphics data 1021 terminates.

[0261] Referring now to FIG. 16B, numerals 5008 to 5017 show the displaylist for the band 1001, while numerals 5018 to 5027 show the displaylist for the band 1002. Numeral 5008 is a command for starting the banddata, corresponding to the start command for starting the band 1001.Numeral 5009 denotes a command for designating the pointer coordinates(position of scribing of the text data “A” 1020) in the band. Numeral5010 is a command for designating character code of the text data “A”1020. Numeral 5011 is a command for designating attributes (size, type)of the character, i.e., the attributes (size, type) of the character ofthe text data “A” 1020. Numeral 5012 is a command for designatingcoordinates of the start point of the character in the band, i.e., thepoint at which the text data “A” 1020 starts in the band 1001.

[0262] Numeral 5013 designates a command for scribing a straight lineand corresponds to the scribing command of the graphics data 1021 (shownin FIG. 14) in the band 1001. Numeral 5014 denotes a command fordesignating attributes (thickness, type) of the straight line, i.e., theattributes (thickness, type) of the graphics data 1021. Numeral 5015 isa command for designating coordinates of the start point of the straightline in the band, i.e., the coordinates of the point at which thegraphics data 1021 starts in the band 1001. Numeral 5016 is a commandfor designating coordinates of the end point of the straight line in theband, i.e., the coordinates of the point at which the graphics data 1021terminates in the band 1001. Numeral 5017 denotes a command whichindicates the end of the data in the band 1001.

[0263] Numeral 5018 is a command for starting the band data,corresponding to the start command for starting the data of the band1002. Numeral 5019 denotes a command for designating the pointercoordinates (position of scribing of the text data “A” 1020) in theband. Numeral 5020 is a command for designating character code of thetext data “A” 1020. Numeral 5021 is a command for designating attributes(size, type) of the character, i.e., the attributes (size, type) of thecharacter of the text data “A” 1020. Numeral 5022 is a command fordesignating coordinates of the start point of the character in the band,i.e., the point at which the subsequent portion of the text data “A”1020 starts in the band 1002.

[0264] Numeral 5023 designates a command for scribing a straight lineand corresponds to the scribing command of the graphics data 1021 in theband 1002. Numeral 5024 denotes a command for designating attributes(thickness, type) of the straight line, i.e., the attributes (thickness,type) of the graphics data 1021. Numeral 5025 is a command fordesignating coordinates of the start point of the straight line in theband, i.e., the coordinates of the point at which the graphics data 1021starts in the band 1002. Numeral 5026 is a command for designatingcoordinates of the end point of the straight line in the band, i.e., thecoordinates of the point at which the graphics data 1021 terminates inthe band 1002. Numeral 5027 denotes a command which indicates the end ofthe data in the band 1002.

[0265]FIG. 17 shows image data printable by the printing system shown inFIG. 12. This image data corresponds to the image data 1022 shown inFIG. 14.

[0266] Referring to this Figure, a_(l) (l being from 1 to 16), b_(m) (mbeing from 1 to 16) and c_(n) (n being from 1 to 32) denote dots of theimage data.

[0267]FIG. 18 shows document data format sent from the host computer1500 to the printer 2500 shown in FIG. 12.

[0268] Referring to this Figure, numeral 1201 denotes a header whichindicates that data which follows this code is a document data. Numeral1202 denotes a flag which indicates the type of the data, specifically,whether the data is text/graphics data or image data. For instance, whenthe flag 1201 is “1”, the data is text/graphics data, whereas, when theflag 1202 is “0”, the data is image data. Numeral 1203 denotes a flagwhich is shown in FIG. 15 and which indicates the contents of the imagedata. Thus, the flag 1203 is effective only when the f;ag 1202 is “0”,i.e., only when the data is image data.

[0269] Practically, the status “00” of the flag 1203 indicates all imagedata, inclusive of the dot data a_(l) (l being from 1 to 16), b_(m) (mbeing from 1 to 16) and c_(n) (n being from 1 to 32) of the image datashown in FIG. 17. More specifically, the status “01” of the flag 1203designates the first ¼ of the data, i.e., only the dot data a_(l) (lbeing from 1 to 16) of the image data shown in FIG. 17. The status “10”of the flag 1203 designates the next ¼ the data, i.e., only the dot datab_(m) (m being from 1 to 16) of the image data shown in FIG. 17. Thestatus “11” of the flag 1203 designates the remainder ½ of the data,i.e., only the dot data C_(n) (n being from 1 to 32) of the image datashown in FIG. 17. Numeral 1204 designates coordinates of the image datashown in FIG. 15, and is effective only when the flag 1202 indicatesthat the data is image data, i.e., only when the status of the flag 1202is “0”. Numeral 1205 denotes a data storage area, while 1206 denotes adata end flag indicative of an end of the data.

[0270]FIGS. 19A and 19B schematically show dot data restored from thedot data formed by dividing the image data shown in FIG. 17. Morespecifically, FIG. 19A shows the dot data restored by synthesis from thedot data a_(l) (l being from 1 to 16) of the initial ¼ of the image dataand the next ¼ dot data b_(m) (m being from 1 to 16). FIG. 19B shows dotdata restored from the dot data a_(l) (l being from 1 to 16) of theinitial ¼ of the image data alone, by expanding the dot data with amultiplication factor of 2 both in X and Y directions.

[0271] A description will now be given of the relationships between thefeatures of the sixteenth to twenty-ninth aspects of the presentinvention and the features of this embodiment, as ell as operations ofthese aspects of the invention.

[0272] The sixteenth aspect of the present invention pertains to aninformation processing apparatus capable of performing, through apredetermined communication medium, band communication with a printingapparatus having a memory resource divided to provide band areas each ofwhich being capable of developing an image therein, the informationprocessing apparatus comprising: developing means (This corresponds toCPU 1 which performs developing processing in accordance with programstored in the program ROM of the ROM 3, external memory 11 or otherstorage medium which is not shown) for acquiring memory resource usestatus information (“memory-full” status) indicative of the state of useof the memory resource (RAM 13) delivered by the printingapparatus(printer 2500) and for developing printing information whichhas been transferred to the printing apparatus into image data of a formwhich can be outputted by the printing apparatus (printer 2500); andtransfer control means (This corresponds to CPU 1 which performs,through the printer controller (PRTC) 8, the transfer control processingin accordance with program stored in the program ROM of the ROM 3,external memory 11 or other storage medium which is not shown) fortransferring the image data developed by the developing means (CPU 1) tothe printing apparatus (printer 2500).

[0273] Thus, the CPU 1 acquires the “memory-full” status of the RAM 13from the printer 2500 through the printer controller 8, and converts theprinting information which has been transferred to the printer 2500 intoimage data of a form which is printable by the CPU 12 of the printer2500. The image data thus formed is resent to the printer 2500 by theCPU 1 through the printer controller 8. When it is expected that theprocessing of the printing information to be transferred from the hostcomputer 1500 may fail due to restriction in the size of the storagearea allocated in the memory resource of the printer 2500, the printinginformation is beforehand developed into image data by the host computer1500, and the thus-developed data is transferred to the printer 2500.The printer 2500, therefore, can directly print the printinginformation, even when the size of the printing information is so largethat the information cannot be processed otherwise due to restriction inthe memory resource allocation in the printer 2500.

[0274] In accordance with the seventeenth aspect of the presentinvention, the information processing apparatus (printer 2500) furthercomprises: data processing means (This corresponds to CPU 1 whichperforms data processing in accordance with program stored in theprogram ROM of the ROM 3, external memory 11 or other storage mediumwhich is not shown) for acquiring information concerning image datadevelopment area size allocated in the memory resource (RAM 13) of theprinting apparatus (printer 2500), comparing based on the acquiredinformation the image data development area size with the total size ofthe image data to be transferred, and for adjusting the size of theimage data to be transferred to the printing apparatus based on theresult of the comparison, thereby generating transfer data to betransferred to the printing apparatus. The transfer control means (CPU1) transfers the transfer data formed by the data processing means.Thus, the CPU 1 acquires the information concerning the size of the areaallocated in the RAM 13 of the printer 2500 for development of the imagedata, and compared this area size with the total size of the image datato be transferred. The CPU 1 then forms the transfer data by adjustingthe size of the image data to be transferred, based on the result of thecomparison, and transfers the thus-formed transfer data. Therefore, whenthe size of the image data to be transferred from the host computer 1500exceeds the size of the image area allocated in the memory resource (RAM13) of the printer 2500, the transfer is performed after adjustment ofthe image data size. Consequently, the printer 2500 receives image dataof a size which can be stored in the image area allocated in the memoryresource.

[0275] In accordance with the eighteenth aspect of the presentinvention, the transfer control means (CPU 1) transfers the image datain a dividing manner in a plurality of transfer cycles. When the size ofthe image data to be transferred from the host computer 1500 exceeds thesize of the image area allocated in the memory resource of the printer2500, the image data is transferred to the printing apparatus in adivided manner in a plurality of cycles, while the size of the imagedata is adjusted, whereby the printer 2500 can receive and store theimage data which has been sized to be accommodated in the image areaallocated in the memory resource and which can restore the originalimage.

[0276] In accordance with the nineteenth aspect of the presentinvention, the transfer control means (CPU 1) suspends the transfer ofimage data to the printing apparatus, depending on the memory resourceuse status (memory-full status) acquired from the printing apparatusduring the dividing transfer of the image data. Namely, during thedivided transfer of the image data, the CPU 1 receives the “memory-full”status of the RAM 13 from the printer 2500. Upon receipt of this statusinformation, the CPU 1 suspends the transfer of the image data to theprinter 2500. Thus, when the size of the image data to be transferredfrom the host computer 2500 exceeds the size of the image area allocatedin the memory resource of the printer 2500, the transfer of the imagedata to the printer 2500 is ceased, thus preventing transfer to theprinter 2500 of the image data of the size exceeding the size of theimage area allocated in the memory resource.

[0277] In accordance with the twentieth aspect of the present invention,the data processing means (CPU 1) extracts non-overlapping pixel data ina stepping manner (the dot data a_(l) (l being from 1 to 16), b_(m) (mbeing from 1 to 16) and c_(n) (n being from 1 to 32)) from the imagedata and generates the transfer data based on the extracted pixel data.Thus, image data which can produce the whole image is transferred to theprinter 2500 in a stepped manner, without any overlap, thus avoidingoverflow of the image area allocated in the memory resource of theprinter 2500 with the image data transferred from the host computer1500. It is therefore possible to supply the printer 2500 with imagedata which can produce whole image as possible, without causing overflowof the image area allocated for the memory resource.

[0278] The twenty-first aspect of the present invention pertains to aprinting apparatus communicable with an information processing apparatusthrough a predetermined communication medium, comprising: first storagemeans (display list memory on the RAM 13) for dividing printinginformation received from the information processing apparatus (2500)into a plurality of bands (1001 to 1008, 1015 and 1016) of data (displaylists 5008 to 5027) and for storing the bands of data; and firstinforming means (This corresponds to CPU 12 which conducts informingprocessing by executing program stored in the program ROM of the ROM 14or other storage medium which is not shown) for informing theinformation processing apparatus (host computer 1500) of the status(memory-full status) of use of the first storage means (display listmemory 901 on the RAM 13). In operation, the printing informationreceived from the host computer 1500 is divided into display lists 5008to 5027 of the respective bands (1001 to 1008, 1015, 1016), and thesedisplay lists are stored in the display list memory 901 on the RAM 13.The CPU 12 informs the host computer 1500 of the “memory-full” status ofthe display list memory 901. Thus, when the condition is such that theprocessing of the printing information transferred from the hostcomputer 1500 is expected to fail due to restriction in the printinginformation storage area allocated in the memory resource of the printer2500, the host computer 1500 is informed of such a condition. Thus, thehost computer 1500 can know, before completing the transfer of theprinting information, the risk of overflow of the printing informationstorage area in the memory resource.

[0279] The twenty-second aspect of the present invention pertains to aprinting apparatus communicable with an information processing apparatusthrough a predetermined communication medium, comprising: compressionmeans (compression/expansion device 19) for compressing, in accordancewith a predetermined compression protocol, image data received from theinformation processing apparatus (host computer 1500); second storagemeans (image data memory on the RAM 13) for storing the compressed imagedata formed by the compression means (compression/expansion device 19);expansion means (compression/expansion device 19) for expanding, inaccordance with a predetermined expansion protocol, the compressed imagedata stored in the second storage means; and printing means (printingsection 17) for printing the image data which has been expanded by theexpansion means. In operation, the compression/expansion device 19compresses the image data received from the host computer 1500 inaccordance with a predetermined compression protocol,and the compressedimage data thus obtained is stored in the image data memory 902 on theRAM 13. The compressed image data stored in the image data memory 902 onthe RAM 13 is expanded by the compression/expansion device 19 inaccordance with a predetermined protocol, and the expanded image data issubjected to printing performed by the printing section 17. Thus, theimage data transferred from the host computer 1500 is compressed andstored in the image area allocated in the memory resource, whereby thewhole image is printed at high image quality as possible.

[0280] In accordance with the third aspect of the present invention, theprinting apparatus further comprises second informing means (Thiscorresponds to the CPU 12 which conducts informing processing byexecuting a program stored in the program ROM of the ROM 14 or otherstorage medium.) for informing the information processing apparatus ofthe status (“image data memory full” status) of use of the secondstorage means (image data memory 902 on the RAM 13). In operation, theCPU 12 informs the host computer 1500 of the “image data memory full”status of the image data memory 902 on the RAM 13, thus clearly showingto the host computer 1500 that the size of the image data transferredfrom the host computer 1500 has exceeded the size of the image areaallocated in the memory resource.

[0281] In accordance with the twenty-fourth aspect of the presentinvention, the printing apparatus further comprises: interpolation means(This corresponds to the CPU 12 which conducts interpolation processingby executing a program stored in the program ROM of the ROM 14 or otherstorage medium not shown.) for judging the state of development of thecompressed image in the second storage means (image data memory 902 onthe RAM 13) and for conducting a predetermined interpolation processingon the image data expanded by the expansion means (compression/expansiondevice 19), thereby restoring the image data. In operation, the CPU 12,upon judging the state of development of the data on the image datamemory 902 on the RAM 13, conducts a predetermined interpolationprocessing on the image data which has been expanded by thecompression/expansion device 19, thereby restoring the image data. Whenthe size of the image data transferred from the host computer 1500exceeds the size of the image area allocated in the memory resource ofthe printer 2500, the printer performs the restoration of the originalimage data depending on the size of the image data which has alreadybeen transferred to the printer 2500, and conducts printing of therestored image data. Thus, even when the size of the image data exceedsthe size of the image area allocated in the memory resource of theprinter, it is possible to print the whole image at a high degree ofquality as possible, based on the image data which has already beenreceived by the printer 2500.

[0282] According to the twenty-fifth aspect, when the use statusinformation (“memory-full” status) concerning the state of use of thememory resource (RAM 13), i.e., the first storage means (display listmemory on the RAM 13), is received from the printing apparatus (printer2500) during transfer of the printing information, the transfer controlmeans (This corresponds to the CPU 1 which conducts transfer controlprocessing through the printer controller 8.) transfers the image datadeveloped by the developing means (CPU 1) to the printing apparatus. Thedirectly printable image data is compressed by the compression means(compression/expansion device 19) and stored in the memory resource (RAM13), i.e., the second storage means (image data memory on the RAM 13).The compressed data is then expanded by the expanded means(compression/expansion device 19) and printed by the printing means(printing section 17). Thus, the state of use of the memory resource ofthe printing apparatus (printer 2500) is monitored and, when there is arisk that the printing information to be sent to the printing apparatusmay cause an overflow of the storage area allocated in the memoryresource, the printing information is directly received from the hostcomputer 1500 in the form of printable image data, and iscompressed/expanded so as to be printed without fail, while avoidingoverflow of the memory.

[0283] According to the twenty-sixth aspect, the host computer 1500acquires information concerning image data development area sizeallocated in the RAM 13 of the printer 2500, and CPU 1 compares based onthe acquired information the image data development area size with thetotal size of the image data to be transferred, and adjusts the size ofthe image data to be transferred to the printer 2500 based on the resultof the comparison, thereby generating transfer data to be transferred bythe CPU 1. In the event that the size of the image data to betransferred from the host computer 1500 exceeds the size of the imagearea allocated in the memory resource of the printer 2500, the size ofthe image data to be transferred is adjusted to a size which can beaccommodated by the image storage area allocated in the memory resource.The image data of the thus adjusted size is transferred to and printedby the printer 2500.

[0284] According to the twenty-seventh aspect, the transfer controlmeans (CPU 1) transfers the image data in a dividing manner in aplurality of transfer cycles. Therefore, when the size of the image datafrom the host computer 1500 exceeds the size of the image area allocatedin the memory resource of the 2500, the image data to be transferred tothe printer 2500 is adjusted by being divided so a to be transferred ina plurality of cycles. Therefore, the printer 2500 can receive imagedata which can restore the whole original image data, without causingoverflow of the image storage area allocated for the memory resource.

[0285] According to the twenty-eighth aspect, the CPU 1 of the hostcomputer 1500 suspends the transfer of image data to the printer 2500,based on the “memory-full” status of the image data memory 902 on theRAM 13 acquired from the printer 2500 during the dividing transfer ofthe image data. Therefore, the printer 2500 gives a clear indication ofany risk that the size of the image storage area allocated in memoryresource is going to be exceeded by the size of the image datatransferred from the host computer 1500, and, upon receipt of suchindication, the host computer 1500 can suspend the transfer of the imagedata to the printer 2500. It is therefore possible to avoid transfer ofimage data to the printer 2500 in excess of the size of the image areaallocated in the memory resource.

[0286] According to the twenty-ninth aspect, the data processing means(CPU 1 of the host computer 1500) extracts non-overlapping pixel data ina stepping manner (dot data a_(l) (l being 1 to 16), b_(m) (m being 1 to16) and C_(n) (n being 1 to 32)) from the image data and generates thetransfer data based on the extracted pixel data, and the transfer datathus generated is transferred to the printer 2500. The printer 2500 thencompresses the received image data and stores the compressed image datain the image data memory 902 on the RAM 13. Then, the CPU 12 judges thestate of development of the compressed image data in the image datamemory 902 of the RAM 13 and conducts a predetermined interpolationprocessing on the image data expanded by the compression/expansiondevice 19, thereby restoring the image data. It is therefore possible tosupply, stepwise and in a non-overlapping manner, the printer 2500 withthe image data which can produce the whole image, without causing theimage storage area allocated in the memory resource of the printer 2500to overflow with the image data supplied by the host computer 1500. Theprinter 2500 thus restores the original image data by interpolationbased on the image data which already has been received. It is thereforepossible to transfer to the printer 2500 image data which canapproximate the whole image as much as possible, without causingoverflow of the image storage area allocated in the memory resource,whereby printing can be performed at high degree of quality as possible.

[0287] A description will now be given of the data processing method foruse in the printing system of the present invention, with reference toflow charts shown in FIGS. 20 to 25.

[0288] FIGS. 20 to 21 are flow charts illustrative of the dataprocessing method performed in the host computer 1500 of the printingsystem of the invention. The processing method has Steps (1) to (32).

[0289] First of all, a document processing data is formed on the RAM 2of the host computer 1500, and a printing command is given by thekeyboard (KB) 9 or a pointing device (not shown). In Step (1), CPU 1examines the contents of the document data on the RAM 2 to check forpresence of text/graphics data. This check is performed becausedifferent types of processing are applied in the printer 2500 to thetext/graphics data and the imAge data. If it is judged that there is notext/graphics data, the process proceeds to Step (2) which judgedwhether or not any image data exists. When it is judged that there is noimage data, the process is ceased as being an error. If the judgement inStep (2) has proved that image data exists, the process skips to Step(14) which commences image data transfer processing.

[0290] In contrast, when it is judged in Step (1) that the data containstext/graphics data, the process proceeds to Step (3) which transmits thetext/graphics data to the printer 2500 through the interface 21. Then,Step (4) checks for receipt of “printer memory-full” status from theprinter 2500. If no such status has been received, the process proceedsto Step (5) which checks for completion of data transmission. If thedata transmission has not been completed, the transmission processing ofStep (3) is repeated, whereas, if the transmission of data has beencompleted before the display list memory 901 of the printer 2500 becomesfull, Steps (13)onwards are executed.

[0291] Conversely, if a “printer memory full” status is received fromthe printer 2500 in Step (4), i.e., when the display list memory 901 ofthe printer 2500 has become full before the completion of the datatransmission, the process advances to Step (6) which examines whether ornot any image data exists. When absence of image data is confirmed inStep (6), the process proceeds to Step (7) which ends “image dataabsence” command to the printer 2500. In such a case, the image datamemory 902 in the printer 2500 can be used for the purpose of storingthe display list.

[0292] The process then proceeds to Step (8) which checks for receipt of“printer memory full” status from the printer 2500. If no such statushas been received, the process advances to Step (9) which checks forcompletion of data transmission. Conversely, if the data transmissionhas not been completed yet, the process proceeds to Step (10) whichtransmits text/graphics data to the printer 2500. The process thenreturns to Step (8) to repeat the operation for checking for the“printer memory full” status. Conversely, if completion of datatransmission is confirmed in Step (9), i.e., if the data transmissionhas been finished before the image data memory 902 of the printer 2500becomes full, the process skips to Step (16) which delivers a “job end”command to the printer 2500 so as to cause the printer 2500 to performthe printing operation, thus completing the processing.

[0293] On the other hand, when receipt of “printer memory full” statusfrom the printer 2500 is confirmed in Step 2500, i.e., when the imagedata memory 902 of the printer 2500 has become full before thecompletion of the data transmission, while presence of image data isconfirmed in Step (6), the process proceeds to Step (11) which transmitsto the printer 2500 a “cancel” command for canceling the text/graphicsdata which has been sent to the printer 2500. The process then proceedsto Step (12) in which the text/graphics data is dot-developed into theRAM 2 of the host computer 1500, so as to transform the wholetext/graphics data into image data. If the original data contains imagedata, such image data is consolidated with the image data formed bytransformation. The process then advances to Step (13).

[0294] Step (13) examines whether or not image data exists on the RAM12. Absence of image data indicates that the transmission of documentdata has been completed. The process then proceeds to Step (16) whichsends a “job end” command to the printer 2500, thereby causing theprinter 2500 to perform the printing, thus ceasing the processing.

[0295] Conversely, if presence of image data is confirmed in Step (13),image data transmission processing is commenced.

[0296] The host computer 1500 examines the size of the image data to betransferred. More specifically, in Step (14), the hist computer examineswhether the image data size exceeds ¼ of the one-page data. If the sizeof the image data is less than ¼ the size of one-page data, the imagedata can be transferred to the printer without any processing, becausethe image data memory 902 of the printer, having a storage area sizewhich is ¼ the size of one-page data, can accept such image data.Therefore, when it is judged in Step (14) that the size of the imagedata is not greater than ¼ the size of one-page data, whole the imagedata (a_(l) (l being from 1 to 16), b_(m) (m being from 1 to 16) andc_(n) (n being from 1 to 32) shown in FIG. 17) is sent to the printer2500. After completion of the transmission of image data, an “image datadetermined” command is transmitted to the printer 2500. Then, in Step(16) a “job end” command is delivered to the printer 2500 so as to causethe printer 2500 to perform the printing operation, thus completing theprocessing.

[0297] Conversely, of the image data size is judged to be not smallerthan ¼ the one page data size in Step (14), the process proceeds to Step(17) which examines whether or not the image data size is ½ or greaterof the one-page data size. If the answer is NO, i.e., if the image datasize is confirmed to be not smaller than ¼ but less than ½ the size ofone-page data, the process process to Step (18) in which data of sizeswhich are ½ of the image data, i.e., sizes below ¼ the size of one-pagedata, are sent to the printer 2500. In this case, the dot data a_(l) (lbeing from 1 to 16) and b_(m) (m being from 1 to 16) are sent to theprinter 2500. Then, the sending processing in Step (18) is repeateduntil completion of data transmission is confirmed in Step (19). Whenthe completion of data transmission is confirmed in Step (19), theprocess proceeds to Steps (28) onward.

[0298] Conversely, if the image data size has been confirmed as beingnot smaller than ½ the one-page data, the process proceeds to Step (20)which sends the data ( a_(l) (l being from 1 to 16) of FIG. 17) of thesize which is ¼ the size of the image data is sent to the printer 2500.The sending operation of Step (20) is repeated until the completion ofsending is confirmed in Step (21). After confirming the completion ofthe data transmission in Step (21), the process proceeds to Step (22)which transmits “image data determination” command to the printer 2500.

[0299] Then, in Step (23), data ( b_(m) (m being from 1 to 16) of FIG.17) of the size which is ¼ the size of the image data is sent to theprinter 2500, followed by execution of Step (24) which checks forreceipt of “printer memory full” status from the printer 2500. When no“printer memory full” status is confirmed, the operation of checking forreceipt of “printer memory full” status of Step (24) is repeated, untilcompletion of data transmission is confirmed in Step (27). When thecompletion of data transmission is confirmed in Step (27), i.e., whenthe transmission of data has been finished before the image data memory902 of the printer 2500 becomes full, the process proceeds to Steps (28)onwards.

[0300] Conversely, when “printer memory full” status is received in Step(24), i.e., when the image data memory 902 of the printer 2500 hasbecome full before the completion of the data transmission, the processproceeds to step (25) which ends to the printer 2500 an “image datacancel” command for canceling the text/graphics data which has beentransferred to the printer 2500. The process then advances to Step (26)which sends a “job end” command to the printer 2500, thus completing theprocessing.

[0301] In Step (28), an “image data determination” command is sent tothe printer 2500 And, in Step (29), the remainder ½ of the image data,i.e., dot data C_(n) (n being from 1 to 32) of FIG. 17, is sent to theprinter 2500. Then, Step (30) is executed to check for receipt of“printer memory full” status from the printer 2500. If “printer memoryfull” status has not been received, the checking operation for thereceipt of the “printer memory full” status is repeated until completionof the data transmission is confirmed in Step (31). When the completionof data transmission is confirmed in Step (31), i.e., if the datatransmission is completed before the image data memory 902 of theprinter 2500 becomes full, Step (32) is executed to send a “job end”command to the printer 2500, so as to cause the printer 2500 to performthe printing operation, thus completing the processing.

[0302] However, if the “printer memory full” status is received in Step(30), i.e., when the image data memory 902 of the printer 2500 hasbecome full before the completion of the data transmission, thecanceling processing is executed through Steps (25) onwards.

[0303] A description will now be given of the relationships between thefeatures of the thirtieth, thirty-first, thirty-fifth and thirty-sixthaspects of the present invention, as well as operations of theseaspects, with reference to FIGS. 20 and 21.

[0304] The thirtieth aspect of the present invention pertains to a dataprocessing method for use in an information processing apparatus capableof performing, through a predetermined communication medium, bandcommunication with a printing apparatus having a memory resource dividedto provide band areas each of which being capable of developing an imagetherein, the method comprising: a developing step (Step (12) of the flowshown in FIG. 20) for acquiring memory resource use status informationdelivered by the printing apparatus and for developing printinginformation which has been transferred to the printing apparatus intoimage data of a form which can be outputted by the printing apparatus;and a first transferring step (Steps (15), (18), (20) of the flow shownin FIG. 20 and Steps (22), (23), (29) of the flow shown in FIG. 21) fortransferring the image data developed by the developing means to theprinting apparatus. In the event that processing of printing informationtransferred from the host computer 1500 is expected to fail due torestriction in the printing information storage area allocated in theRAM 13 of the printer 2000, the printing information is beforehanddeveloped into image data by the CPU of the host computer 1500, and thethus-developed image data is sent to the printer 2500. It is thereforepossible to print the printing information which otherwise will fail tobe processed due to restriction in the memory resource allocation.

[0305] In accordance with the thirty-first aspect of the presentinvention, the data processing method further comprises: a dataprocessing step (Steps (17) onward of the flow shown in FIG. 20) foracquiring information concerning image data development area sizeallocated in the memory resource of the printing apparatus, comparingbased on the acquired information the image data development area sizewith the total size of the image data to be transferred, and foradjusting the size of the image data to be transferred to the printingapparatus based on the result of the comparison, thereby generatingtransfer data to be transferred; and a second transferring step (Steps(15), (18), (20) of the flow shown in FIG. 20 and Steps (22), (23), (29)of the flow shown in FIG. 21) for transferring the transfer data in adividing manner in a plurality of transfer cycles. In accordance withthis aspect of the invention, the image data is transferred to theprinter 2500 in a stepped manner in accordance with the size of theimage data to be transferred from the host computer 1500. It istherefore possible to transfer as much image data as possible to theprinter 2500, even when the size of the image data to be transferredexceeds the size of the image storage area allocated in the memoryresource of the printer 2500.

[0306] The thirty-fifth aspect of the present invention pertains to astorage medium storing a computer-readable program, thecomputer-readable program comprising: a developing step (Step (12) ofthe flow shown in FIG. 20) for acquiring memory resource use statusinformation delivered by the printing apparatus and for developingprinting information which has been transferred to the printingapparatus into image data of a form which can be outputted by theprinting apparatus; and a first transfer step (Steps (15), (18), (20) ofthe flow shown in FIG. 20 and Steps (22), (23), (29) of the flow shownin FIG. 21) for transferring the image data developed by the developingmeans to the printing apparatus. Thus, program codes corresponding tothe processes shown in FIGS. 20 and 21 are stored in a later-mentionedstorage medium or in the internal memory resource, and the CPU reads andexecutes the stored program codes. This way of implementation also fallswithin the scope of the present invention.

[0307] In accordance with the thirty-sixth aspect of the presentinvention, the computer-readable program further comprises: a dataprocessing step (Steps (17) onward of the flow shown in FIG. 20) foracquiring information concerning image data development area sizeallocated in the memory resource of the printing apparatus, comparingbased on the acquired information the image data development area sizewith the total size of the image data to be transferred, and foradjusting the size of the image data to be transferred to the printingapparatus based on the result of the comparison, thereby formingtransfer data to be transferred; and a second transferring step (Steps(15), (18), (20) of the flow shown in FIG. 20 and Steps (22), (23), (29)of the flow shown in FIG. 21) for transferring the transfer data in adividing manner in a plurality of transfer cycles. Thus, program codescorresponding to the processes shown in FIGS. 20 and 21 are stored in alater-mentioned storage medium or in the internal memory resource, andthe CPU reads and executes the stored program codes. This way ofimplementation also falls within the scope of the present invention.

[0308] According to these aspects of the invention, in the event thatprocessing of printing information transferred from the host computer1500 is expected to fail due to restriction in the printing informationstorage area allocated in the RAM 13 of the printer 2000, the printinginformation is beforehand developed into image data by the CPU of thehost computer 1500, and the thus-developed image data is sent to theprinter 2500. It is therefore possible to print as much as possible theprinting information which otherwise will fail to be processed due torestriction in the memory resource allocation. In addition, since theimage data is transferred to the printer 2500 in a stepped manner inaccordance with the size of the image data to be transferred from thehost computer 1500, it is therefore possible to transfer as much imagedata as possible to the printer 2500, even when the size of the imagedata to be transferred exceeds the size of the image storage areaallocated in the memory resource of the printer 2500.

[0309] FIGS. 22 to are flow charts showing image processing method foruse in the printing system of the present invention. The method hasSteps (1) to (41) which are executed by the printer 2500.

[0310] In Step (1), the printer 2500 waits for data to be received fromthe host computer 1500. When the data is received from the host computer1500, the process advances to Step (2) which judged whether or not thereceived data is an image data. If it is judged that the received datais an image data, Steps (26) onward are executed to conduct an imagedata storage processing.

[0311] Conversely, if Step (2) has judged that the received data is notan image data, i.e., when the received data is a text/graphics data, theprocess advances to Step (3) in which the CPU 12 analyzes the receiveddata and converts the same into a display list as shown in FIG. 16B. Thedisplay list thus obtained is stored in the display list memory 901 ofthe RAM 13.

[0312] Then, in Step (4), a judgment is conducted as to whether or notthe display list memory 901 is full. When the storage of the displaylist is completed before the display list memory 901 becomes full, theprocess advances to Step (5) in which a judgment is conducted whether a“job end” command has been received from the host computer 1500. Whenthere is no receipt of such a “job end” command, the process returns toStep (1) to execute an operation for receiving image data.

[0313] Conversely, when Step (5) has judged that a “job end” command hasbeen received from the host computer 1500, the process advances to Step(6) which performs printing of the data, thereby completing theprocessing.

[0314] Referring again to Step (4), if this Step has judged that thedisplay list memory is full, Step (7) is executed in which the printer2500 sends a “memory full” status to the host computer 1500 through theinterface 21. Then, in Step (8), a judgment is conducted as to whetheror not a “cancel” command has been received from the host computer 1500.When it is judged that the “cancel” command has been received, theprocess advances to Step (9) which erases the display list stored in thedisplay list memory 901 in Step (3). Then, the “memory full” status isdismissed and the process returns to Step (1) to commence data receivingprocessing.

[0315] When Step (8) has judged that there is no receipt of the “cancel”command from the host computer 1500, the process advances to Step (10)which judges whether or not a “job end” command has been received fromthe host computer 1500. If such “job end” command has been received, theprocess returns to Step (6) which executes the printing processing, thuscompleting the processing.

[0316] However, if Step (10) has judged that there is no receipt of the“job end” command from the host computer 1500, the process advances toStep (11) which determines whether or not a “no image” command has beeninputted from the host computer 1500. If such a “no image” command hasbeen input, the process advances to Step (12) which examines whether ornot a “reset” command has been inputted from the host computer 1500. Ifthere is not input of such “reset” command, the process returns to Step(8) for checking again whether or not a “cancel” command has beeninputted. However, if Step (12) has judged that a “reset” command hasbeen received from the host computer 1500, the process advances to Step(13) which clears the RAM 13 and resets the system so as to return theprocess to Step (1) to commence receiving processing.

[0317] When the judgment in Step (11) has shown that a “no image”command has been received from the host computer 1500, the processadvances to Step (14) which combines the areas of the display listmemory 901 and the image data memory 902 so as to provide an expandedarea for the display list memory, and dismisses the “memory full”status. The process then advances to Step (15) in which the remainderdata, i.e., text/graphics data, is received from the host computer 1500,and then to Step (16) in which the CPU 12 analyzes the received data andconverts the same into a display list as shown in FIG. 16B. The displaylist thus formed is stored in the display list memory 901 of the RAM 13.

[0318] The process then advances to Step (17) which determines whetheror not the expanded display list memory 901 has become full. If thestorage of the display list is completed before the expanded displaylist memory 901 becomes full, the process advances to Step (18) whichdetermines whether or not a “job end” command has been received from thehost computer 1500. When it is judged that there is no input of the “jobend” command from the host computer 1500, the process returns to Step(1) to prepare for receiving of data.

[0319] However, if the judgement made in Step (18) shows that a “jobend” command has been received from the host computer 1500, Step (19) isexecuted to perform printing of the data, thus completing theprocessing.

[0320] If the judgment in Step (17) shows that the expanded displaymemory 901 has become full, Step (20) is executed in which the printer2500 sends a “memory full” status to the host computer 1500 through theinterface 21. Then, in Step (21), a judgment is conducted as to whetheror not a “cancel” command has been received from the host computer 1500.If it is judged that such a “cancel” command has been inputted, theprocess advances to Step (22) in which the display list stored in theexpanded display list memory 901 in Steps (3) and (16) is erased. Then,after erasion of the “memory full” status, the process returns to Step(1) to prepare for receiving of data.

[0321] However, if the judgment in Step (21) shows that there is noinput of “cancel” command from the host computer 1500, the processadvances to Step (23) which examines whether or not a “job end” commandhas been received from the host computer 1500. If the “job end” commandhas been received, the process returns to Step (19) which executes theprinting processing, thereby completing the process.

[0322] In contrast, when the judgment made in Step (23) shows that thereis no input of “job end” command from the host computer 1500, theprocess advances to Step (24) which examines whether or not a “reset”command has been received from the host computer 1500. If such a “reset”command has not been inputted, the process returns to Step (21) whichchecks for the receipt of the “cancel” command. However, if thejudgement made in Step (24) shows that no “reset” command has beeninputted from the host computer 1500, the process advances to Step (25)which clears the RAM 13 and resets the system so that the processreturns to the receiving processing step, i.e., Step (1).

[0323] A description will now be given of the case where the judgmentconducted in Step (2) shows that the received data is an image data. Inthis case, the process skips to Step (26) which sends the received datato the compression/expansion device 19 so as to effect compression ofthe data. The image data, with which the “image determination command”has been received from the host computer 1500, is stored in the imagedata memory 902. The compression/expansion processing performed by thecompression/expansion device 19 may be conducted reversibly, i.e., suchthat the original data is restored by expanding the compressed data. Inthis embodiment, such a reversible compression may be effected inaccordance with any of known techniques such as run-length method, MHmethod, MR method, MMR method, JBIG method and so forth. Description ofsuch methods is omitted.

[0324] Step (27) determines whether or not the image data memory 902 hasbecome full. When the storage of the image has been completed before theimage data memory 902 becomes full, Step (28) is executed to determinewhether or not a “job end” command has been inputted from the hostcomputer 1500. When the judgment shows that no such “job end” commandhas been received from the host computer 1500, the process returns toStep (1) to prepare for processing of received data.

[0325] However, if the judgment made in Step (28) shows that a “job end”command has been received from the host computer 1500, the processadvances to Steps (29) onward.

[0326] If the judgment conducted in Step (27) shows that the image datamemory 902 has become full, the process skips to Step (31) in which theprinter 2500 sends a “memory full” status to the host computer 1500through the interface 21. Then, Step (32) is executed in which ajudgment is conducted as to whether or not an “image data cancel”command has been received from the host computer 1500. If the “imagedata cancel” command has been received, the process advances to Step(33) which erases the incomplete image data which has been stored in theimage data memory 902. Then, the process advances to Step (34) whichexamines whether or not a “job end” command has been received. If thejudgment made in Step (32) shows that no “image data cancel” command hasbeen received, the process advances to Step (34) which checks for thereceipt of the “job end” command.

[0327] If the judgment made in Step (34) shows that a “job end” commandhas been received from the host computer 1500, the process advances toStep (29) onward, whereas, if the judgement shows that no such “job end”command has been received, the process advances to Step (35) whichdetermines whethe or not a “reset” command has been received from thehost computer 1500. If no input of such “reset command” is confirmed,the process returns to Step (34) which again checks for the receipt ofthe “job end” command.

[0328] If the judgment executed in Step (35) shows that a “resets”command has been received from the host computer 1500, Step (36) isexecuted to clear the RAM 13 and to reset the system, whereby theprocess returns to Step (1) to prepare for processing of received data.

[0329] When receipt of “job end” command is confirmed in Step (28) or(34), Step (29) is executed to examine the state of the image data flag1203 in the image data memory 902. In Step (30), a judgement isconducted check for presence of the flag indicative of existence of theremainder ½ data, i.e., the image flag 1203 of “11” shown in FIG. 18.When it is judged that there is the flag indicative of the existence ofthe remainder ½ data, the process advances to Step (37). Step (37)restores the original image data by synthesizing, in accordance with thedisposition shown in FIG. 17, the initial ¼ data (a_(l) (l being 1 to16) of FIG. 17), the next ¼ data (b_(m) (m being 1 to 16) of FIG. 17)and the remainder ½ data (C_(n) (n being 1 to 32) of FIG. 17), whileexpanding these data independently by the expansion/compression device19. Needless to say, X and Y coordinates 1204 shown in FIGS. 18 and 15of the image data are examined during the restoration of the originalimage, and the image data having the same coordinates are synthesizedwith each other.

[0330] Then, Step (38) is executed in which, if there are any displaylist and data stored in the display list memory 901, the image datasynthesized in Step (37) is further consolidated with such display listand data, and then the printing is performed with the consolidated data.The processings of Steps (37) and (38) are executed for the respectivebands such that the processing of each of the bands is performedindependently of the other bands. When these proceedings are finished onall the bands, the whole processing is completed.

[0331] When the judgment made in Step (30) shows that there is no flagindicative of existence of the remainder ½ data, i.e., when there is noimage data flag 1203 of the value “11” as shown in FIG. 18, the processadvances to Step (39) in which a judgment is made as to whether or not adata flag is presence indicative of the next ¼ data, i.e., an image dataflag 1203 having the value of “10” as shown in FIG. 18. If the judgementshows that such a data flag indicative of the existence of the next ¼data is present, the process proceeds to Step (41). This Step (41) formsan image data by synthesizing, in accordance with the disposition shownin FIG. 19A, the initial ¼ data (a_(l) (l being 1 to 16) of FIG. 17) andthe next ¼ data (b_(m) (m being 1 to 16) of FIG. 17), while expandingthese data independently by the expansion/compression device 19. It isthus possible to avoid printing failure of the image data, although theimage quality is impaired because the amount of the data forming theimage is only half that of the original image data. If there is anydisplay list and data stored in the display list memory 902, Step (38)performs synthesis or consolidation of such display list and data withthe image data which has been synthesized in Step (41), and printing isexecuted with this consolidated data. The processings of Steps (41) and(38) are executed for the respective bands such that the processing ofeach of the bands is performed independently of the other bands. Whenthese processings are finished on all the bands, the whole processing iscompleted.

[0332] If the judgment conducted in Step (39) shows that there is noflag indicative of existence of the next ¼ data, i.e., when there is noimage data flag 1203 having the value of “10” as shown in FIG. 18, theinitial ¼ data (a_(l) (l being 1 to 16) of FIG. 17) is expanded by thecompression/expansion device 19 at a multiplication factor 2, both inthe X and Y directions, thus forming an enlarged image data as shown inFIG. 19B. It is thus possible to avoid printing failure of the imagedata, although the quality of the synthesized image is further impairedbecause the amount of the data forming the image is only ¼ that of theoriginal image data.

[0333] Then, if there is any data of display list stored in the displaylist memory 901, Step (38) consolidates the image data formed in Step(40) with the display list and data, and performs the printing based onthe thus-consolidated data. The processings of Steps (40) and (38) areexecuted for the respective bands such that the processing of each ofthe bands is performed independently of the other bands. When theseprocessings are finished on all the bands, the whole processing iscompleted.

[0334] A description will now be given of the relationships between thefeatures of the thirty-second, thirty-fourth, thirty-seventh andthirty-ninth aspects of the present invention, as well as operations ofthese aspects, with reference to FIGS. 22 to 25.

[0335] The thirty-second aspect of the present invention pertains to adata processing method for use in printing apparatus communicable withan information processing apparatus through a predeterminedcommunication medium, the method comprising: first storing step (Step(3) of the flow shown in FIG. 22) for dividing printing informationreceived from the information processing apparatus into a plurality ofbands of data and for storing the bands of data in first storage means;and first informing step (Steps (4) and (7) of the flow shown in FIG.22) for informing the information processing apparatus of the status ofuse of the first storage means. When there is a risk that processing ofthe printing information from the host computer 1500 may fail due torestriction in the printing information storage area allocated in theRAM 13 of the printer 2500, the host computer 1500 is informed of such arisk and beforehand develops the printing information into image data.The printer 2500 receives the thus-developed image data, so that theprinting information which otherwise cannot be printed due torestriction in the memory resource allocation can safely be printed.

[0336] The thirty-third aspect of the present invention pertains to adata processing method for use in printing apparatus communicable withan information processing apparatus through a predeterminedcommunication medium, the method comprising: a compressing step (Step(26) of the flow shown in FIG. 24) for compressing, in accordance with apredetermined compression protocol, image data received from theinformation processing apparatus; a second storing step (Step (26) ofthe flow shown in FIG. 24) for storing the compressed image data formedin the compressing step in a second storage means; a second informingstep (Steps (27) and (31) of the flow shown in FIG. 24) for informingthe information processing apparatus of the status of use of the secondstorage means; an expanding step (Steps (37), (40), (41) of the flowshown in FIG. 25) for expanding, in accordance with a predeterminedexpansion protocol, the compressed image data stored in the secondstorage means; and a printing step (Step (38) of the flow shown in FIG.25) for printing the image data which has been expanded by the expansionmeans. It is therefore possible to perform the printing of whole imageat high degree of quality as possible, even when the size of the imagedata transferred in a stepped manner from the host computer 1500 to theprinter 2500 exceeds the size of the image storage area allocated in theRAM 13 of the printer 2500, by virtue of the feature that the image datawhich has already been transferred to the printer 2500 is stored aftercompression.

[0337] In accordance with the thirty-fourth aspect of the presentinvention, the data processing method further comprises an interpolatingstep (Steps (37), (40), (41) of the flow shown in FIG. 25) for judgingthe state of development of the compressed image in the second storagemeans and for conducting a predetermined interpolation processing on theimage data expanded by the expansion means, thereby restoring the imagedata. It is therefore possible to perform the printing of whole image athigh degree of quality as possible, even when the size of the image datatransferred in a stepped manner from the host computer 1500 to theprinter 2500 exceeds the size of the image storage area allocated in theRAM 13 of the printer 2500, by virtue of the feature that the printingis performed by restoring the original image data in accordance with thesize of the image data which has already been transferred to the printer2500.

[0338] In accordance with the thirty-seventh aspect of the presentinvention, the computer-readable program further comprises: firststoring step (Step (3) of the flow shown in FIG. 22) for dividingprinting information received from the information processing apparatusinto a plurality of bands of data and for storing the bands of data infirst storage means; and first informing step (Steps (4) and (7) of theflow shown in FIG. 22) for informing the information processingapparatus of the status of use of the first storage means. Thus, programcodes corresponding to the processes shown in FIGS. 22 to 25 are storedin a later-mentioned storage medium or in the internal memory resource,and the CPU 12 reads and executes the stored program codes. This way ofimplementation also falls within the scope of the present invention.

[0339] According to the thirty-eighth aspect of the present invention,there is provided a storage medium storing a computer-readable program,wherein the program comprises: a compressing step (Step (26) of the flowshown in FIG. 24) for compressing, in accordance with a predeterminedcompression protocol, image data received from the informationprocessing apparatus; a second storing step (Steps (26) of the flowshown in FIG. 24) for storing the compressed image data formed in thecompressing step in a second storage means; a second informing step(Steps (27) and (31) of the flow shown in FIG. 24) for informing theinformation processing apparatus of the status of use of the secondstorage means; an expanding step (Steps (37), (40) and (41) of the flowshown in FIG. 25) for expanding, in accordance with a predeterminedexpansion protocol, the compressed image data stored in the secondstorage means; and a printing step (Step (38) of the flow shown in FIG.25) for printing the image data which has been expanded by the expansionmeans. Thus, program codes corresponding to the processes shown in FIGS.22 to 25 are stored in a later-mentioned storage medium or in theinternal memory resource, and the CPU 12 reads and executes the storedprogram codes. This way of implementation also falls within the scope ofthe present invention.

[0340] In accordance with the thirty-ninth aspect of the presentinvention, the computer-readable program further comprises aninterpolating step (Steps (37), (40) and (41) of the flow shown in FIG.25) for judging the state of development of the compressed image in thesecond storage means and for conducting a predetermined interpolationprocessing on the image data expanded by the expansion means, therebyrestoring the image data. Thus, program codes corresponding to theprocesses shown in FIGS. 22 to 25 are stored in a later-mentionedstorage medium or in the internal memory resource, and the CPU 12 readsand executes the stored program codes. This way of implementation alsofalls within the scope of the present invention.

[0341] According to these aspects of the invention, in the event thatprocessing of printing information transferred from the host computer1500 is expected to fail due to restriction in the printing informationstorage area allocated in the RAM 13 of the printer 2000, the hostcomputer 1500, upon receipt of information of the possibility of such afailure, develops the printing information into image data and deliversthe developed image data to the printer 2500. It is therefore possibleto print as much as possible the printing information which otherwisewill fail to be processed due to restriction in the memory resourceallocation. In addition, it is possible to perform the printing of wholeimage at high degree of quality as possible, even when the size of theimage data transferred in a stepped manner from the host computer 1500to the printer 2500 exceeds the size of the image storage area allocatedin the RAM 13 of the printer 2500, by virtue of the feature that theprinting is performed by restoring the original image data in accordancewith the size of the image data which has already been transferred tothe printer 2500.

[0342] In the described embodiment, a pair of banding buffer memories903, 904 are used in combination so as to serve as a double buffer whichsends data to the printing section 17 to execute the printing.Therefore, in case where the data is text/graphics information, theinformation is read from the corresponding band listed in theaforementioned display list, and is converted into dot image anddeveloped in the banding buffer memory 903 or 904. In the case where theprinting information is an image data, the position of the image data iscomputed based on the X and Y coordinates information 1204 (see FIGS. 18and 15) of the image data, and the portions of the image data in thebands which contain the image data are restored in the manner describedbeforehand developed in the banding buffer memory 903 or 904, so as tobe consolidated with the text/graphics data.

[0343] The restoration of the image data is conducted by using a workmemory 905. The document data synthesized on the banding buffer memories903, 904 in the form of dot data is sent to and printed by the printingsection 17.

[0344] The use of the banding technique described hereinabove realizes ahigh throughput. When the document data is complicated, the printinginformation is beforehand developed into dot image by the host computerbefore sent to the printer, or the printing information in the form ofimage data is sent to the printer in a stepped manner in accordance withthe size of the image data. The image data thus transferred is storedafter compression. When the memory has become full in the midway of thedata transfer, the original data is restored based on the image datawhich already has been received, in accordance with the size of theimage data which has already been received.

[0345] [Seventh Embodiment]

[0346] In the sixth embodiment, preservation and forwarding of the imagedata are conducted by reversibly compressing the image data by mans ofthe compression/expansion device 19. Such reversible compression permitsrestoration of the original data by expansion. This, however, is onlyillustrative and the compression may be conducted irreversibly so as toforcibly reduce the image data size into ¼. Such irreversiblecompression provides thinned data when the compressed data is expandedinto original size. When such irreversible compression is employed, thetransfer of the image data from the host computer can be completed by asingle cycle of transfer operation, although the quality of the imagedata is necessarily impaired.

[0347] [Eighth Embodiment]

[0348] In the sixth embodiment, the interpolation of image is performedin the manner described in connection with FIGS. 19A and 19B. Thisinterpolation method, however, is only illustrative and the imageinterpolation may be conducted by a dot-interpolation technique based onthe relationships between the image dots and surrounding dots. Thus, theinterpolation may be conducted by using various known techniques whichare not described.

[0349] A description will now be given of the structure of thecomputer-readable data processing program for use in the printing systemof the present invention, with specific reference to a memory map shownin FIG. 27.

[0350]FIG. 27 shows a memory map formed in a storage medium which storesthe computer-readable data processing program for use in the printingsystem of the present invention.

[0351] Although not specifically shown in this Figure, the storagemedium may store also information for administrating programs in themedium, such as the version information, writer information, and soforth, as well as information which depends on the OS of the programreader, e.g., a computer, such as icons for identifying and displayingprograms.

[0352] Data subordinate to the programs also are administrated by thedirectory. The storage medium also may store programs for installingvarious programs on the computer, decompressing program fordecompressing any compressed program to be installed, and so forth.

[0353] The functions shown in FIGS. 20, 21 and FIGS. 22 to 25 used inthe described embodiments may be executed by the described system inaccordance with programs which are installed externally. The presentinvention is applicable also to a case where a group of informationincluding programs are supplied to the output apparatus from a storagemedium such as a CD-ROM, flash memory, FD or the like, or from anexternal storage medium through a network.

[0354] The storage medium storing the software program codesimplementing the functions of the described embodiments is supplied tothe system, so that the computer (or CPU or MPU) of the system orapparatus reads and executes these program codes, whereby the objects ofthe present invention are achieved.

[0355] In such a case, the program codes read from the storage mediumimplement the novel functions of the present invention, so that thestorage medium storing such program codes constitutes one form of thepresent invention.

[0356] The storage medium for supplying the program codes may be, forexample, a floppy disk, a hard disk, an optical disk, a magneto-opticaldisk, a CD-ROM, CD-R, magnetic tape, non-volatile memory card, ROM,EEPROM, or the like.

[0357] The storage medium in accordance with the invention enables thecomputer to read and execute the program codes stored therein, so as toimplement the functions of the described embodiments. The storagemedium, however, also may be such that an OS (operating system) workingon the computer conducts part or whole of the processings, in accordancewith the instructions given by the program codes stored in the medium,thereby implementing the functions of the described embodiments.

[0358] Obviously, the arrangement may be such that the program codesread from the storage medium are written in a function expansion boardloaded on the computer or a memory in a function expansion unitconnected to the computer, so that a CPU of the function expansion boardor unit conducts part or whole of the processings, in accordance withthe instructions given by the written program codes, therebyimplementing the functions of the described embodiments.

[0359] The invention may be applied to a system composed of a pluralityof devices or apparatuses, or to a stand-alone apparatus. It will beclear that the invention can also be accomplished by supplying such asystem or apparatus with the programs described hereinbefore. In such acase, the storage medium storing the software programs for accomplishingthe invention is loaded in and read by the system or the apparatus, sothat the system or the apparatus can enjoy the advantages of the presentinvention.

[0360] Furthermore, the invention may be carried out such that a programrepresented by a software for accomplishing the present invention isdown-loaded from a data base on the network by the operation of acommunication program, so that a system or apparatus on which theprogram has been down-loaded can enjoy the advantages of the presentinvention.

[0361] Although the invention has been described through illustration ofspecific embodiments and forms, it will be understood that suchembodiments and forms are only illustrative and various changes andmodifications may be imparted thereto without departing from the scopeof the invention which is limited solely by the appended claims.

What is claimed is:
 1. A printing apparatus communicable with aninformation processing apparatus through a predetermined communicationmedium, comprising: first conversion means for converting page-basisprinting information received from said information processing apparatusinto predetermined intermediate code information, the conversion beingexecuted on a predetermined band basis; first storage means for storing,in a first storage area of a memory resource, said intermediate codeinformation obtained through conversion performed by said firstconversion means; second conversion means for converting saidintermediate code information into image data on a predetermined bandbasis; second storage means for storing, in a second storage area ofsaid memory resource, a plurality of bands of said image data obtainedthrough conversion performed by said second conversion means; firstjudging means for judging whether or not the intermediate codeinformation corresponding to one page has been stored in said firststorage area; and first memory control means operative based on theresult of judgment conducted by said first judging means so as to causesaid second conversion means to convert said intermediate codeinformation stored in said first storage area on said predetermined bandbasis into image and to develop the image in said second storage area,thereby forming a vacant area in said first storage area.
 2. A printingapparatus according to claim 1, further comprising: second memorycontrol means operative after the preservation of the vacant area bysaid first memory control means and operative based on the result of thejudgment performed by said first judging means, so as to cause saidsecond conversion means to convert into image the intermediate codeinformation of a band which does not contain image data from among thebands of intermediate code information stored in said first storagearea, and to develop the image into said second storage area;compression means for compressing the output information image-developedby said second memory control means into a predetermined volume, therebygenerating compressed output information; and third memory control meansfor causing said first storage area to store the compressed outputinformation generated by said compression means.
 3. An informationprocessing apparatus communicable with a printing apparatus through apredetermined communication medium, comprising: transfer means fortransferring to said printing apparatus the page printing informationexcept for image data in the page; inquiry means for inquiring, afterthe data transfer performed by said transfer means, about the size ofvacancy in an intermediate code information storage area preserved in amemory resource of said printing apparatus; and transfer control meansfor comparing the size of said image data with the size of the vacancyinformed by said printing apparatus in response to the inquiry made bysaid inquiry means, and for controlling the size of the image data to betransferred, based on the result of the comparison.
 4. An informationprocessing apparatus according to claim 3, wherein said transfer controlmeans, when judging that the size of the image data exceeds the size ofvacancy, compresses said image data so as to reduce the size of theimage data to be transferred.
 5. A printing apparatus communicable withan information processing apparatus through a predeterminedcommunication medium, comprising: first conversion means for convertingpage-basis printing information received from said informationprocessing apparatus into predetermined intermediate code information,the conversion being executed on a predetermined band basis; firststorage means for storing, in a first storage area of a memory resource,said intermediate code information obtained through conversion performedby said first conversion means; second conversion means for convertingsaid intermediate code information into image data on a predeterminedband basis; second storage means for storing, in a second storage areaof said memory resource, a plurality of bands of said image dataobtained through conversion performed by said second conversion means;and informing means for informing said information processing apparatusof the size of vacancy formed in said first storage area afterconversion performed by said first conversion means, in response to aninquiry made by said information processing apparatus about the vacancysize.
 6. A printing system comprising an information processingapparatus and a printing apparatus communicable with each other througha predetermined communication medium, wherein said printing apparatuscomprises: first conversion means for converting page-basis printinginformation received from said information processing apparatus intopredetermined intermediate code information, the conversion beingexecuted a on predetermined band basis; first storage means for storing,in a first storage area of a memory resource, said intermediate codeinformation obtained through conversion performed by said firstconversion means; second conversion means for converting saidintermediate code information into image data on predetermined bandbasis; second storage means for storing, in a second storage area ofsaid memory resource, a plurality of bands of said image data obtainedthrough conversion performed by said second conversion means; andinforming means for informing said information processing apparatus ofthe size of vacancy formed in said first storage area after conversionperformed by said first conversion means, in response to an inquiry madeby said information processing apparatus about the vacancy size; andwherein said information processing apparatus comprises: transfer meansfor transferring page printing information except for image data in thepage; inquiry means for inquiring, after the data transfer performed bysaid transfer means, about the size of vacancy in an intermediate codeinformation storage area preserved in said memory resource of saidprinting apparatus; and transfer control means for comparing the size ofthe image data with the size of the vacancy informed by said printingapparatus in response to the inquiry made by said inquiry means, and forcontrolling the size of the image data to be transferred, based on theresult of the comparison.
 7. A printing system according to claim 6,wherein said transfer control means, when judging that the size of theimage data exceeds the size of vacancy, compresses said image data so asto reduce the size of the image data to be transferred.
 8. A dataprocessing method for use in a printing apparatus communicable with aninformation processing apparatus through a predetermined communicationmedium, said method comprising: a first converting step for convertingpage-basis printing information received from said informationprocessing apparatus into predetermined intermediate code information,the conversion being executed on a predetermined band basis; a firststoring step for storing, in a first storage area preserved in a memoryresource, said intermediate code information obtained through theconversion; a second converting step for converting said intermediatecode information stored in said first storage area into image data on apredetermined band basis; a second storing step for storing, in a secondstorage area preserved in said memory resource, a plurality of bands ofsaid image data obtained through the conversion performed in said secondconverting step; a first judging step for judging whether or not theintermediate code information corresponding to one page has been storedin said first storage area; and a third storing step conducted based onthe result of judgment conducted by said first judging means, so as tocause said intermediate code information stored on the predeterminedband basis in said first storage area to be developed into image in saidsecond storage area, thereby preserving vacant area in said firststorage area, and to store subsequent intermediate code data into thevacant area.
 9. A data processing method for use in a printing apparatusaccording to claim 8, further comprising: a second judging stepconducted after storage of the subsequent intermediate code informationin said vacant area, so as to judge whether or not the intermediate codeinformation corresponding to one page has been stored in said firststorage area; a fourth storing step conducted based on the result of thejudgment performed in said second judging step, so as to develop intoimage the intermediate code information of a band which does not containimage data from among the bands of intermediate code information storedin said first storage area, and to store the developed image in saidsecond storage area; compressing step for compressing theimage-developed output information into a predetermined volume, therebygenerating compressed output information; and a fifth storing step forstoring said compressed output information in said first storage area.10. A data processing method for use in a printing system comprising aninformation processing apparatus and a printing apparatus communicablewith each other through a predetermined communication medium, saidmethod comprising: a first transferring step for transferring firstprinting information formed by removing image data from one-pageprinting information to be transferred; a first converting step forconverting, on a predetermined band basis, the first printinginformation received from said information processing apparatus into apredetermined intermediate code information; a first storing step forstoring said intermediate code information obtained through theconversion in a first storage area preserved in a memory resource; andan informing step for informing, after the storage of said intermediatecode information in said first storage area, said information processingapparatus of the size of vacancy in said first storage area, in responseto an inquiry given by said information processing apparatus.
 11. A dataprocessing method for use in a printing system according to claim 1,further comprising: judging step for comparing the size of the imagedata to be transmitted with the size of vacancy informed by saidprinting apparatus; reducing step for reducing the size of the imagedata to be transferred based on the result of the judgment; and a secondtransferring step for transferring the reduced image data to saidprinting apparatus.
 12. A storage medium storing a computer-readableprogram, said computer-readable program comprising: a first convertingstep for converting page-basis printing information received from aninformation processing apparatus into predetermined intermediate codeinformation, the conversion being executed on a predetermined bandbasis; a first storing step for storing, in a first storage areapreserved in a memory resource, said intermediate code informationobtained through the conversion; a second converting step for convertingsaid intermediate code information stored in said first storage areainto image data on a predetermined band basis; a second storing step forstoring, in a second storage area preserved in said memory resource, aplurality of bands of said image data obtained through the conversionperformed in said second converting step; a first judging step forjudging whether or not the intermediate code information correspondingto one page has been stored in said first storage area; and a thirdstoring step conducted based on the result of judgment conducted by saidfirst judging means, so as to cause said intermediate code informationstored on the predetermined band basis in said first storage area to bedeveloped into image in said second storage area, thereby preservingvacant area in said first storage area, and to store subsequentintermediate code data into the vacant area.
 13. A storage mediumstoring a computer-readable program, according to claim 12, wherein saidcomputer program further comprises: a second judging step conductedafter storage of the subsequent intermediate code information in saidvacant area, so as to judge whether or not the intermediate codeinformation corresponding to one page has been stored in said firststorage area; a fourth storing step conducted based on the result of thejudgment performed in said second judging step, so as to develop intoimage the intermediate code information of a band which does not containimage data from among the bands of intermediate code information storedin said first storage area, and to store the developed image in saidsecond storage area; compressing step for compressing theimage-developed output information into a predetermined volume, therebygenerating compressed output information; and a fifth storing step forstoring said compressed output information in said first storage area.14. A storage medium storing a computer-readable program, said computerprogram comprising: a first transferring step for transferring firstprinting information formed by removing image data from one-pageprinting information to be transferred; a first converting step forconverting, on a predetermined band basis, the first printinginformation received from said information processing apparatus into apredetermined intermediate code information; a first storing step forstoring said intermediate code information obtained through theconversion in a first storage area preserved in a memory resource; andan informing step for informing, after the storage of said intermediatecode information in said first storage area, said information processingapparatus of the size of vacancy in said first storage area, in responseto an inquiry given by said information processing apparatus.
 15. Astorage medium storing a computer-readable program according to claim14, wherein said computer program further comprises: judging step forcomparing the size of the image data to be transmitted with the size ofvacancy informed by said printing apparatus; reducing step for reducingthe size of the image data to be transferred based on the result of thejudgment; and a second transferring step for transferring the reducedimage data to said printing apparatus.
 16. An information processingapparatus capable of performing, through a predetermined communicationmedium, band communication with a printing apparatus having a memoryresource divided to provide band areas each of which being capable ofdeveloping an image therein, said information processing apparatuscomprising: developing means for acquiring memory resource use statusinformation delivered by said printing apparatus and for developingprinting information which has been transferred to said printingapparatus into image data of a form which can be outputted by saidprinting apparatus; and transfer control means for transferring theimage data developed by said developing means to said printingapparatus.
 17. An information processing apparatus according to claim16, further comprising: data processing means for acquiring informationconcerning image data development area size allocated in said memoryresource of said printing apparatus, comparing based on the acquiredinformation the image data development area size with the total size ofthe image data to be transferred, and for adjusting the size of theimage data to be transferred to said printing apparatus based on theresult of the comparison, thereby generating transfer data to betransferred by said transfer control means.
 18. An informationprocessing apparatus according to claim 17, wherein said transfercontrol means transfers said image data in a dividing manner in aplurality of transfer cycles.
 19. An information processing apparatusaccording to claim 18, wherein said transfer control means suspends thetransfer of image data to said printing apparatus, depending on thememory resource use status acquired from said printing apparatus duringthe dividing transfer of the image data.
 20. An information processingapparatus according to claim 18, wherein said data processing meansextracts non-overlapping pixel data in a stepping manner from said imagedata and generates said transfer data based on the extracted pixel data.21. A printing apparatus communicable with an information processingapparatus through a predetermined communication medium, comprising:first storage means for dividing printing information received from saidinformation processing apparatus into a plurality of bands of data andfor storing the bands of data; and first informing means for informingsaid information processing apparatus of the status of use of said firststorage means.
 22. A printing apparatus communicable with an informationprocessing apparatus through a predetermined communication medium,comprising: compression means for compressing, in accordance with apredetermined compression protocol, image data received from saidinformation processing apparatus; second storage means for storing thecompressed image data formed by said compression means; expansion meansfor expanding, in accordance with a predetermined expansion protocol,the compressed image data stored in said second storage means; andprinting means for printing the image data which has been expanded bysaid expansion means.
 23. A printing apparatus according to claim 22,further comprising second informing means for informing said informationprocessing apparatus of the status of use of said second storage means.24. A printing apparatus according to claim 22, further comprisinginterpolation means for judging the state of development of thecompressed image in said second storage means and for conducting apredetermined interpolation processing on the image data expanded bysaid expansion means, thereby restoring the image data.
 25. A printingsystem comprising an information processing apparatus and a printingapparatus having a memory resource divided to provide band areas each ofwhich being capable of developing an image therein, said informationprocessing apparatus and said printing apparatus being capable ofband-communicating with each other through a predetermined communicationmedium, wherein said information processing apparatus comprises:developing means for acquiring memory resource use status informationdelivered by said printing apparatus and for developing printinginformation which has been transferred to said printing apparatus intoimage data of a form which can be outputted by said printing apparatus;and transfer control means for transferring the image data developed bysaid developing means to said printing apparatus; and wherein saidprinting apparatus comprises: first storage means for dividing printinginformation received from said information processing apparatus into aplurality of bands of data and for storing the bands of data; firstinforming means for informing said information processing apparatus ofthe status of use of said first storage means; compression means forcompressing, in accordance with a predetermined compression protocol,image data received from said information processing apparatus; secondstorage means for storing the compressed image data formed by saidcompression means; expansion means for expanding, in accordance with apredetermined expansion protocol, the compressed image data stored insaid second storage means; and printing means for printing the imagedata which has been expanded by said expansion means.
 26. A printingsystem according to claim 25, wherein said information processingapparatus comprises: data processing means for acquiring informationconcerning image data development area size allocated in said memoryresource of said printing apparatus, comparing based on the acquiredinformation the image data development area size with the total size ofthe image data to be transferred, and for adjusting the size of theimage data to be transferred to said printing apparatus based on theresult of the comparison, thereby generating transfer data to betransferred by said transfer control means.
 27. A printing systemaccording to claim 26, wherein said transfer control means transferssaid image data in a dividing manner in a plurality of transfer cycles.28. An information processing apparatus according to claim 27, whereinsaid transfer control means suspends the transfer of image data to saidprinting apparatus, depending on the memory resource use status acquiredfrom said printing apparatus during the dividing transfer of the imagedata, and wherein said printing apparatus further comprises secondinforming means for informing said information processing apparatus ofthe status of use of said second storage means.
 29. A printing systemaccording to claim 26, wherein said data processing means extractsnon-overlapping pixel data in a stepping manner from said image data andgenerates said transfer data based on the extracted pixel data, andwherein said printing apparatus further comprises interpolation meansfor judging the state of development of the compressed image in saidsecond storage means and for conducting a predetermined interpolationprocessing on the image data expanded by said expansion means, therebyrestoring the image data.
 30. A data processing method for use in aninformation processing apparatus capable of performing, through apredetermined communication medium, band communication with a printingapparatus having a memory resource divided to provide band areas each ofwhich being capable of developing an image therein, said methodcomprising: a developing step for acquiring memory resource use statusinformation delivered by said printing apparatus and for developingprinting information which has been transferred to said printingapparatus into image data of a form which can be outputted by saidprinting apparatus; and a first transferring step for transferring theimage data developed by said developing means to said printingapparatus.
 31. A data processing method for use in an informationprocessing apparatus according to claim 30, further comprising: a dataprocessing step for acquiring information concerning image datadevelopment area size allocated in said memory resource of said printingapparatus, comparing based on the acquired information the image datadevelopment area size with the total size of the image data to betransferred, and for adjusting the size of the image data to betransferred to said printing apparatus based on the result of thecomparison, thereby generating transfer data to be transferred; and asecond transferring step for transferring the transfer data in adividing manner in a plurality of transfer cycles.
 32. A data processingmethod for use in printing apparatus communicable with an informationprocessing apparatus through a predetermined communication medium, saidmethod comprising: first storing step for dividing printing informationreceived from said information processing apparatus into a plurality ofbands of data and for storing the bands of data in first storage means;and first informing step for informing said information processingapparatus of the status of use of said first storage means.
 33. A dataprocessing method for use in printing apparatus communicable with aninformation processing apparatus through a predetermined communicationmedium, said method comprising: a compressing step for compressing, inaccordance with a predetermined compression protocol, image datareceived from said information processing apparatus; a second storingstep for storing the compressed image data formed in said compressingstep in a second storage means; a second informing step for informingsaid information processing apparatus of the status of use of saidsecond storage means; an expanding step for expanding, in accordancewith a predetermined expansion protocol, the compressed image datastored in said second storage means; and a printing step for printingthe image data which has been expanded by said expansion means.
 34. Adata processing method for use in a printing apparatus according toclaim 33, further comprising an interpolating step for judging the stateof development of the compressed image in said second storage means andfor conducting a predetermined interpolation processing on the imagedata expanded by said expansion means, thereby restoring the image data.35. A storage medium storing a computer-readable program, said computerprogram comprising: a developing step for acquiring memory resource usestatus information delivered by said printing apparatus and fordeveloping printing information which has been transferred to saidprinting apparatus into image data of a form which can be outputted bysaid printing apparatus; and a first transfer step for transferring theimage data developed by said developing means to said printingapparatus.
 36. A storage medium storing a computer-readable programaccording to claim 35, wherein said computer program further comprises:a data processing step for acquiring information concerning image datadevelopment area size allocated in said memory resource of said printingapparatus, comparing based on the acquired information the image datadevelopment area size with the total size of the image data to betransferred, and for adjusting the size of the image data to betransferred to said printing apparatus based on the result of thecomparison, thereby forming transfer data to be transferred; and asecond transferring step for transferring the transfer data in adividing manner in a plurality of transfer cycles.
 37. A storage mediumstoring a computer-readable program, wherein said computer programfurther comprises: first storing step for dividing printing informationreceived from said information processing apparatus into a plurality ofbands of data and for storing the bands of data in first storage means;and first informing step for informing said information processingapparatus of the status of use of said first storage means.
 38. Astorage medium storing a computer-readable program, wherein said programcomprises: a compressing step for compressing, in accordance with apredetermined compression protocol, image data received from saidinformation processing apparatus; a second storing step for storing thecompressed image data formed in said compressing step in a secondstorage means; a second informing step for informing said informationprocessing apparatus of the status of use of said second storage means;an expanding step for expanding, in accordance with a predeterminedexpansion protocol, the compressed image data stored in said secondstorage means; and a printing step for printing the image data which hasbeen expanded by said expansion means.
 39. A storage medium storing acomputer-readable program according to claim 38, wherein said programfurther comprises an interpolating step for judging the state ofdevelopment of the compressed image in said second storage means and forconducting a predetermined interpolation processing on the image dataexpanded by said expansion means, thereby restoring the image data.